ZOJ 3685 Cube (贪心 + 暴力)
来源:互联网 发布:杭州淘宝培训哪家最好 编辑:程序博客网 时间:2024/05/22 03:22
OJ题目 :click here~~
题目分析:S=(-1)Kn*n3+(-1)Kn-1*(n-1)3+...+(-1)K2*23+(-1)K1*13. 确定每项之前的符号,使得 | s | 最小。
由于n的范围是[1 10000] , 可以先贪心,最后暴力矫正。
LL sum[1<<21];int op[10002];int main(){ int n , k, i , j; for(i = 0;i < (1<<20);i++){ for(j = 0;j < 20;j++) if(i & (1<<j)) sum[i] += (j + 1)*(j + 1)*(j + 1); } while(cin >> n){ LL a = 0 , ans = (LL)1<<50; LL all = 0; k = min(20 , n); for(i = n;i > k;i--){ if(a < 0){ a += (LL)i * (LL)i * (LL)i ; op[i] = 0 ; } else{ a -= (LL)i * (LL)i * (LL)i ; op[i] = -1 ; } } for(i = 1;i <= k;i++) all += (LL)i * (LL)i * (LL)i; for(i = 0;i < (1<<k);i++){ if(abs(a + 2 * sum[i] - all) < ans){ ans = abs(a + 2 * sum[i] - all); j = i; } } i = j; for(j = 0;j < k;j++){ if(i & (1 << j)) op[j + 1] = 0; else op[j + 1] = -1; } for(i = n;i >= 1;i--) op[i] == 0 ? printf("+") : printf("-"); puts(""); } return 0;}
2 0
- ZOJ 3685 Cube (贪心 + 暴力)
- [贪心+暴力矫正] zoj 3685 Cube
- ZOJ 3736 Pocket Cube(暴力,魔方)
- HDU 6202 cube cube cube(暴力)
- 贪心加暴力(ZOJ 3715,Kindergarten Election)
- ZOJ Magic Cube 2477
- ZOJ 3736 Pocket Cube
- ZOJ 3736 Pocket Cube
- ZOJ 3429 Cube Simulation
- ZOJ-2477 Magic Cube
- zoj-3429-Cube Simulation
- Magic Cube ZOJ
- zoj 贪心
- 【贪心】ZOJ
- zoj 3726 Pocket Cube(搜索)
- [dfs] zoj 3736 Pocket Cube
- ZOJ 3710 水暴力
- ZOJ 3710 Friends 暴力
- 访问PCI配置空间方法一(通过I/O端口直接读取)
- Android学习----异常(3)---java.lang.IllegalArgumentException: column '_id' does not exist
- js返回上一个页面
- 极大似然估计
- 黑马程序员 正则表达式1 匹配和切割
- ZOJ 3685 Cube (贪心 + 暴力)
- C语言编程 - 清空键盘缓冲区
- c++-嵌套类与局部类
- 第六周自习内容网盘链接http://pan.baidu.com/s/1mgqg6zm
- lex语法分析器
- Linkify
- 在VS2008中创建或加载sliverlight项目失败
- cocos2dx 一个新的control stepper
- JFileChooser 保存文件时根据选择的文件类型改变文件后缀名