上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: 知道了怎么做,代码真的好写。。。楼教主男人八题输的情况只有“偶数堆,且存在每对堆都有相等情况”比如a1(a2n-a2n-1)+(a2n-2-a2n-3)..+(a2-a1) 画图得证。偶数时,最优策略就是将(a2n,a1),(a2,a3)...通过调整第一组使得每对堆相同。然而由于必须减少1个以上,... 阅读全文
posted @ 2014-04-14 14:46 Estimator 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 这题需要注意就是 并查集中 相对位置 注意与绝对距离区别#include#define maxn 50005int ans,i,a,b,p,fa,fb,n,k;int f[maxn],rank[maxn];int findfather(int x){ if(f[x]==x) re... 阅读全文
posted @ 2014-04-13 18:51 Estimator 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 细节处理实在太重要了。#include#include#define MT 65533*4#define Maxn MT*4int i,x,y,now,k;int xo[Maxn],e[Maxn],pd[MT];char a,b,c;inline void work(int k,int rt){ ... 阅读全文
posted @ 2014-04-10 22:15 Estimator 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 学这个斜率优化dp却找到这个真心容易出错的题目,其中要从n倒过来到1的确实没有想到,另外斜率优化dp的算法一开始看网上各种大牛博客自以为懂了,最后才发现是错了。不过觉得看那些博客中都是用文字来描述,还是应该用画图来表示更容易让人明白,不过时间不太够,且网上该题解法到处都是,就不累赘了。代码才20几行... 阅读全文
posted @ 2014-03-27 14:48 Estimator 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 首先应该对该【0,10000000】进行离散化即先将点集进行排序,然后从小到大缩小其中的间距,使得最后点数不会超过2*n然后就是线段树操作只需进行染色,然后最后用nlgn进行一个个查询颜色记录即可#include#includeint color[20005*4],a[20005],p[20005]... 阅读全文
posted @ 2014-03-24 21:19 Estimator 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 采矿(KOP) 金矿的老师傅年底要退休了。经理为了奖赏他的尽职尽责的工作,决定送他一块长方形地。长度为S,宽度为W。老师傅可以自己选择这块地。显然其中包含的采金点越多越好。你的任务就是计算最多能得到多少个采金点。如果一个采金点的位置在长方形的边上,它也应当被计算在内。任务:读入采金点的位置。计算最大... 阅读全文
posted @ 2014-02-18 20:52 Estimator 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 搜索 每次找出最短路 如果小于等于k 那么必定这里有一点是要被删掉的 枚举这个最短路径上的每一个点 (一般不会超过20) 将其相邻边删除 用dijskra求最短路径并且保存即可 深度搜索#include#include#define maxn 1000000bool kill[51],p[51][5... 阅读全文
posted @ 2013-12-05 19:22 Estimator 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/yjq24-logs/42826226.html大致上是这样的:有两堆石子,不妨先认为一堆有10,另一堆有15个,双方轮流取走一些石子,合法的取法有如下两种:1)在一堆石子中取走任意多颗;... 阅读全文
posted @ 2013-11-17 16:36 Estimator 阅读(262) 评论(0) 推荐(0) 编辑
摘要: #includeint lb,rb,data;long long sum[5000000],extra[5000000];void add(int l,int r,int now){ if(lb=r){ extra[now]+=data; sum[now]+=data*(r-l+1)... 阅读全文
posted @ 2013-11-10 17:21 Estimator 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 线段树 (本题无需建树,少了很多)#include#includeint sum[5000005],rt,data,lb,rb,n,m;void add(int p,int l,int r,int now)//data新加的数 第p个位置 第now个子树{ sum[now]+=data; ... 阅读全文
posted @ 2013-11-10 13:25 Estimator 阅读(146) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页