摘要: 虽然这题可以用暴力n^3过,但是还有有种n^2的方法的,枚举b,对于b,分别枚举a和c,得到对于这个b的最优解,然后从所以b中选一个最优的。要保证字典序最小,只要从小往大枚举就好了感谢moonflyer#include#include#include#includeusing namespace s... 阅读全文
posted @ 2015-07-17 23:37 陈瑞宇 阅读(213) 评论(2) 推荐(0) 编辑
摘要: 对于每个元素,最理想的情况就是都在它的左边或者右边,那么sort一下就可以得到一个特解了,然后大的中间不能有小的元素,因为如果有的话,那么无论选小的还是选大的都不是最优。对小的元素来说,比它大的元素在哪里是没有关系的。所以把大的看作一个整体,然后插空法算出总方案数。答案用llu存#include#i... 阅读全文
posted @ 2015-07-17 22:17 陈瑞宇 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 题意:分段用椎台面积近似计算体积,然后计算出近似值和真实值的相对误差微积分加数学。平头椎台的体积计算公式:V = 1/3*h*(S1+S2*sqrt(S1*S2)一个更快的计算多项式值的方法: for(int i = 15; i >= 0; i--) ans = ans*x+p[i],比直接pow快... 阅读全文
posted @ 2015-07-17 20:42 陈瑞宇 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 二分图最大匹配问题遇到冰山就把行列拆成两个部分。每个部分x也好,y也好只能匹配一次图画得比较草,将就着看横着扫一遍,竖着扫一遍,得到编号一个位置就对应一个(xi,yi)就是X集到Y集的一条边,由题意,每个点只能被选择一次。所以最大匹配的边数就是答案了。算法过程当增广路不存在的时候,就是二分图最大匹配... 阅读全文
posted @ 2015-07-17 19:22 陈瑞宇 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 比较坑的水题,首项前面的符号,-1,+1,只有数字项的时候要输出0。感受一下这些数据160 0 0 0 0 0 0 0 0 -10 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0-1 0 0 0 0 0 0 0 0 0-1 -1 -1 ... 阅读全文
posted @ 2015-07-17 14:14 陈瑞宇 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 加一个维度,钥匙的状态,状压一下。n很小,钥匙也只有10个,bfs就好了。忘了数组初始化。以后坚决不犯这种低级错误。#include#include#includeusing namespace std;const int maxn = 50+1;int g[maxn][maxn][4];int k... 阅读全文
posted @ 2015-07-17 14:10 陈瑞宇 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 一道贪心的题,因为最小的不能由别的转化,所以每次贪心找最小的,其余的转化成大的。从小到大,最小的如果不存在那么就break,否则减去一个,剩下的加k继续判断。#include#includeconst int maxn = 300;int cnt[maxn];int main(){ int T... 阅读全文
posted @ 2015-07-17 14:05 陈瑞宇 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题意,给一个数字矩阵,要求从上往下的一条路径,使这条路径上数字之和最小,如有多条输出最靠右的一条。数字三角形打印路径。。。一般打印路径有两种选择,一是转移的时候加以记录,二是通过检查dp值回溯。#include#include#includeusing namespace std;const int... 阅读全文
posted @ 2015-07-17 14:01 陈瑞宇 阅读(188) 评论(0) 推荐(0) 编辑