摘要:
bzoj1941[Sdoi2010]Hide and Seek 题意: 平面上n个点,求一个点使得离它最近的点和最远的点离它的曼哈顿距离差最小(若选的点处已有点,则改点不算)。n≤500000 题解: 第一次写kd树,感觉眼睛又瞎了(玄学复杂度)。首先先把所有点横坐标和纵坐标轮流为关键字排序建一个平 阅读全文
摘要:
bzoj2292【POJ Challenge 】永远挑战 题意: 有向图,每条边长度为1或2,求1到n最短路。点数≤100000,边数≤1000000。 题解: 有人说spfa会T,所以我用了dijkstra。不过这不是正解,神犇ZS告诉我正解应该是把所有边长度为2的边拆成两条,orz…… 代码: 阅读全文
摘要:
bzoj2295【POJ Challenge】我爱你啊 题意: 求一个字符串中有多少个"luvletter"(不包括引号)。字符串长度≤100000。 题解: 连kmp都不用…… 代码: 20160905 阅读全文
摘要:
bzoj2296【POJ Challenge】随机种子 题意: 求一个≤10^16的数,使这个数包含123456789且为x的倍数。x≤1000000。 题解: 16-6刚好等于10。因此我们可以直接让所求的数的前10位为1234567890,则只要求出1234567890000000加上什么≤10 阅读全文
摘要:
bzoj2287【POJ Challenge】消失之物 题意: 给出n,m,求用除了第i(1≤i≤n)个之外的物品填满容量为j(1≤j≤m)的背包的方法数。n,m≤2000。 题解: 令f[n][j]为所有物品可用填满j的方案数,F[i][j]为题目所求,则当j<a[i]时F[i][j]=f[n][ 阅读全文
摘要:
bzoj2288【POJ Challenge】生日礼物 题意: 给一个序列,求不超过m个连续的部分,使元素和最大。序列大小≤100000 题解: 先把连续的正数和负数合并起来,接着如果正数个数小于m则全选,否则需要确定去掉那个正数或合并哪个正数。初始ans设为所有正数和,将所有的数按绝对值大小放入堆 阅读全文