随笔分类 - 洛谷OJ
摘要:动态开结点线段树板子。
阅读全文
摘要:Splay区间加,询问区间和。
阅读全文
摘要:存反图,从终点dfs一遍,记录下无法到达的点。然后枚举这些记录的点,把他们的出边所连的点也全部记录。以上这些点都是无法在最短路中出现的。所以把两个端点都没被记录的边加进图里,跑spfa、BFS什么的随意。 1 #include 2 #include 3 #include 4 #include 5 u...
阅读全文
摘要:暴力枚举。 1 #include 2 #include 3 using namespace std; 4 int a[130][130],d,n,x,y,z,num,ans=-2147483647; 5 int main() 6 { 7 scanf("%d%d",&d,&n); 8 ...
阅读全文
摘要:不难发现,树中与某个点距离为2的点只可能是它的父亲的父亲、儿子的儿子 或者 兄弟,分类讨论一下即可。只有对于兄弟我们不能暴力搞,维护一下每个节点的所有儿子的前缀和、前缀MAX就行了。 1 #include 2 #include 3 #include 4 using namespace std; 5 ...
阅读全文
摘要:把所有情况打表,然后随便暴力。 1 #include 2 using namespace std; 3 int n,an,bn,p1,p2; 4 int a[10001],b[10001]; 5 bool f[6][6]; 6 int ans1,ans2; 7 void init() 8 { 9 ...
阅读全文
摘要:分块90分。 By AutSky_JadeK 【重点在下面】 1 #include 2 #include 3 using namespace std; 4 #define N 1000001 5 #define INF 2147483647 6 #define min(a,b) (((a)'9')C...
阅读全文
摘要:建图:每个点向它四周的点连边权为两点点权的差的绝对值的边。由于有多个需要“施法”的点,所以相当于对每个这样的点,询问与它的距离在T以内的最长边的最小值,即多次询问。最长边最小之类的,肯定是最小生成树没跑了。BUT 若是对每个点这样做的话,肯定会TLE。所以考虑一次处理出所有询问的答案。在并查集将两个...
阅读全文
摘要:从左上角到右下角,共经过n+m个节点,从其中选择n各节点向右(或者m各节点向下),所以答案就是C(n+m,n)或者C(n+m,m),组合数暴力算即可,但是要取模,所以用了乘法逆元。 1 #include 2 #include 3 using namespace std; 4 typedef long...
阅读全文
摘要:最长不下降子序列的nlogn算法 见http://www.cnblogs.com/mengxm-lincf/archive/2011/07/12/2104745.html这题是最长不上升子序列,倒过来当最长不下降子序列搞就行。若是最长上升子序列,将upper_bound改成lower_bound即可...
阅读全文

浙公网安备 33010602011771号
