题目大意:。。。。。有点长自己看吧
首先既然是排序后的序列字典序最小,那么一定要选尽量小的数字走
然后T是1~m*n的序列 所以不存在重复(一开始我居然把这个条件看漏了)
好的这题贪心
每次选择没有被标记的最小点,然后把左下方和右上方都标记掉(记得标记重复时break,不然就挂了)
注意5000*5000的数组开两个int就是极限了 开多了妥妥MLE 所以T数组记得重复利用
暴力跑了3...
分类:
其他好文 时间:
2014-09-01 17:55:53
阅读次数:
347
题目大意:
给定一个无向图,每条边有两个权值ai和bi,从1走到N,设路径上a权的最大值为A,b权的最大值为B,求A+B的最小值
首先这题如果只有一个权值就是水题无误……但是多了个权值之后我们就要好好考虑一下了
我们对a排序,枚举a,对于每一次枚举求b权最大值的最小值即可
跑M遍SPFA肯定超时无误 网上很多人写了LInk-Cut-Tree维护动态最小生成树 我的LCT没写明白 就去写了S...
分类:
其他好文 时间:
2014-09-01 14:06:53
阅读次数:
1733
题意:
给定一个长为L的字符串(L
求Π(num[i]+1)%1000000007
这就是KMP算法的一个变形。。。首先求出next数组,顺便求出cnt数组,代表长度为i的前缀经过几次fix=next[fix]会得到0,然后重新匹配一次,这次注意当fix*2>i的时候令fix=next[fix]即可
这题有坑 切忌用num数组代替next
此外勿忘开long long
这题就水过去了。...
分类:
其他好文 时间:
2014-09-01 14:06:13
阅读次数:
247
题意:
给一串数,找出最长的区间使得这个区间里面有个数能被其他所有数整除(包括它自己),求满足这个条件的最长区间的个数及长度,以及这些区间的左端的位置
分析:
这个区间的要求其实就是GCD(ALL)=MIN(ALL),能被其他数整除,这个数肯定是最小的,然后又能被其他数整除(包括自己)这个数就是GCD了
可以二分枚举区间长度,然后验证答案的可靠性
对当前长度的所有区间,套用RMQ...
分类:
其他好文 时间:
2014-09-01 14:05:53
阅读次数:
248
必须MARK下:任何时候都要保持清醒头脑,不要被题目绕了。。其实就是求最小公倍数。#include #include #include using namespace std;__int64 v[20];__int64 gcd(__int64 a,__int64 b){ if(b==0) retur...
分类:
其他好文 时间:
2014-09-01 12:32:43
阅读次数:
204
题干一堆废话。。
题目大意:给定n次操作(与,或,异或),在0~m中选择一个数,使这个数经过n次操作后得到的值最大
丰年好大水 AC如土分如铁。。
这尼玛根本就是水题好不 枚举选择数字的每一位 分三种情况讨论:
1.该位取0时经过n次操作结果取1 这自然是最理想的情况 必须选择0
2.情况1不满足 该为取1时经过n次操作结果取1 且取1后值不超过m 这样我们也选择1
3.上两种情况不满...
分类:
其他好文 时间:
2014-09-01 10:49:53
阅读次数:
271
懒癌发作的时候需要做做水题。
GCD+LCM 辗转相除求出GCD,然后再LCM。
int gcd(int a,int b)
{
int r=0;
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
如例子 10 14
10%14=10;a=14,r=...
分类:
其他好文 时间:
2014-09-01 10:45:12
阅读次数:
238
GCD SUMTime Limit:8000/4000MS (Java/Others)Memory Limit:128000/64000KB (Java/Others)SubmitStatisticNext ProblemProblem Description给出N,M执行如下程序:long lon...
分类:
其他好文 时间:
2014-09-01 08:09:42
阅读次数:
201
这题真不爽,各种WA,写个题解浏览器还挂了,真不爽。 所以不多说了,就说关于判断是否是父节点的问题,不能直接判,会有重边,这种情况只能用编号判,传进去入边的编号,(k^1) != fa,这样就可以了。 要注意的细节很多啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊...
分类:
其他好文 时间:
2014-08-31 22:37:01
阅读次数:
297
这一道题咋一看只觉得是离线,可以求出所有的f(1,i,z), 答案就等于f(1,r,z)-f(1,l-1,z)。但是没有具体的做法,但是求LCA的深度和有一个非常巧妙的做法,每加一个点,就把这个点到根的路径上的点权值+1,这样计算某个点和之前所有点LCA深度和就可以统计这个点到根的路径上的点...
分类:
其他好文 时间:
2014-08-31 17:15:31
阅读次数:
209