2014年7月28日
摘要: 从后往前每个找出前面恰好留出k个位置 的位置就可以。//============================================================================// Name : F.cpp// Author : L_Ecry/... 阅读全文
posted @ 2014-07-28 08:15 L_Ecry 阅读(130) 评论(0) 推荐(0) 编辑
  2014年7月27日
摘要: 线段树单点更新,要注意两段合并多出的答案的计算即可//============================================================================// Name : D.cpp// Author : L_Ecry//... 阅读全文
posted @ 2014-07-27 15:46 L_Ecry 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 单点更新,h>n时直接取h=n即可,初始每个数为w,每次找出从左网友第一个大于当前的位置输出并更新#include#include#include#include#include#include #define debug(x) printf(#x"= %d\n",x);#define N 2000... 阅读全文
posted @ 2014-07-27 15:20 L_Ecry 阅读(111) 评论(0) 推荐(0) 编辑
摘要: //============================================================================// Name : B.cpp// Author : L_Ecry// Version :// Copyrigh... 阅读全文
posted @ 2014-07-27 15:17 L_Ecry 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 单点更新,更新时先除去 原来的数,因为有去摸,可以用乘上逆元代替。//============================================================================// Name : A.cpp// Author : ... 阅读全文
posted @ 2014-07-27 15:14 L_Ecry 阅读(196) 评论(0) 推荐(0) 编辑
  2014年7月21日
摘要: 思路:定义f(x)为 Ai & x==x 的个数,g(x)为x表示为二进制时1的个数,最后答案为 。为什么会等于这个呢:运用容斥的思想,如果 我们假设 ai&x==x 有f(x)个,那么 这f(x)个 组成集合的子集 & 出来是 >=x那么我们要扣掉>x的 。。。 因为这里我们要求的是 & 之后等于... 阅读全文
posted @ 2014-07-21 10:58 L_Ecry 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 题意:给力一张无向图,有一些边是正常道路,有一些边是铁路,问最多能删除几条铁路使得所有点到首都(编号为1)的最短路长度不变。思路:求不能删除的铁路数,总数减掉就是答案。先求出首都到所有点的最短路,求完最短路后,枚举除首都外所有点,如果这个点被更新的边中只有铁路,那么就有一条铁路不能删除。注意:这里求... 阅读全文
posted @ 2014-07-21 08:08 L_Ecry 阅读(248) 评论(0) 推荐(0) 编辑
  2014年7月16日
摘要: 思路:dp[i][now][mark][len] i 表示当前第i 次now存的是后8位,mark为第9位为0还是1 len第九位往高位还有几位和第9位相等。 只存后8位的原因:操作只有200次每次都为加法的话后8位可以表示,如果为乘法第八位已知再加上第九位 和往前的长度已知,所以可以表示所有状态... 阅读全文
posted @ 2014-07-16 10:10 L_Ecry 阅读(313) 评论(0) 推荐(0) 编辑
  2014年7月15日
摘要: 思路:莫队算法,离线操作,将所有询问的左端点进行分块(分成sqrt(n) 块每块sqrt(n)个),用左端点的块号进行排序小的在前,块号相等的,右端点小的在前面。 这样要是两个相邻的查询在同一块内左端点每次最多移动sqrt(n) n次的话效率为nsqrt(n) ,对于同一块内右端点为有序的那么最多移... 阅读全文
posted @ 2014-07-15 19:09 L_Ecry 阅读(655) 评论(0) 推荐(0) 编辑