01 2017 档案
摘要:HDU 1848 题意:3堆石子,数量分别为n,m,p,两个人轮流选一堆取f个,f只能是Fibonacci数列中的数,问先手胜负。
阅读全文
摘要:POJ 2774 题意:求两个字符串的最长公共子串。 总结:搞了半天还是不太理解,看着大神博客强行敲的。。而且还看到有hash+二分做的。
阅读全文
摘要:Educational Codeforces Round 17 C. Two strings 题意:两个字符串A,B,从B中删除尽可能少的子串,要使得B剩下的字符串是A的子序列,输出B剩下的字符串。(注意子串与子序列区别) 总结:看了某神犇的代码,不太理解。。官方题解:不要去想从B中删掉子串,应该想
阅读全文
摘要:HDU 1878 题意:问一个无向图是否存在欧拉回路。 总结: 1、一个无向图存在欧拉回路,当且仅当该图所有顶点度数都为偶数,且该图是连通图。2、一个有向图存在欧拉回路,所有顶点的入度等于出度且该图是连通图。3、要判断一个混合图G(V,E)(既有有向边又有无向边)是欧拉图,方法如下:假设有一张图有向
阅读全文
摘要:LightOJ 1094 题意:给出一棵树求直径。 总结:搜两次即可。先任意找一个点为根找到离它最远的点,再以这个点为根找离它最远的距离。 // LightOJ-1094 #include<iostream> #include<cstdio> #include<cstdlib> #include<a
阅读全文
摘要:POJ 1144 题意:给出一个无向图求割点数目。题目读入有点特殊,每一行开头给出ai,后面的bi都与ai连通。 总结:板子题。 // POJ-1144 #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm>
阅读全文
摘要:HDU 1269 题意:n个点m条单向边,问任意两个点是否连通。 总结:参考大神博客码的,有些地方还是不太明白。 而且这题还可以双向dfs做,有时间再做一下。 // HDU-1269 #include<bits/stdc++.h> using namespace std; #pragma comme
阅读全文
摘要:POJ 1094 题意:从'A'到'A'+n的n个字母,给出m个大小关系,求是否有特定的拓扑排序。 总结:题目有点坑人。 1、不会有超出'A'+n范围的字母。 2、如果在输入第k个字母时,已经可以判断出有特定的排序或者判断出矛盾(即有环),就不用管后面的了。 3、判断是否有特定的排序,故有多种可能的
阅读全文
摘要:POJ 1847 题意:n个点,电车从A到B。每个点可以到其它ki个点,但默认只通往给出的第一个点,如果要到其它点,必须改变轨道方向一次。问A到B最少改变几次轨道方向。 总结:裸裸的最短路,所以,狠狠的把Floyd, Bellman, Dijkstra, Spfa都给撸了一遍。一个字,爽!
阅读全文
摘要:LightOJ 1005 题意:n*n的棋盘,放入k个车,要使k个车不相互攻击,有多少种方案。 总结:从n行选出k行(C(n,k)),再从n列选出k列(A(n,k)),即C(n,k)*A(n,k)。 注:纠结是C还是A,举个简单的例子,看交换后是否相同。 #include<bits/stdc++.h
阅读全文
摘要:CF #392(2) C. Unfair Poll 题意:n行m列人,老师点k次名。点名次序,每一行都是从1到m,但行是按1,2....(n-1),n,(n-1),(n-2)...1,2,3....(n-1),n.....求点完k次名后被点的最多的次数和最少的次数,以及给定的(x,y)被点次数。 总
阅读全文
摘要:HDU 1757 题意: If x < 10, f(x) = x; If x >= 10, f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10); 给出k和mod,求f(k)。 总结: 1、特别注意,矩阵相乘不满足交换律
阅读全文
摘要:POJ 1222 题意:给出5行6列的矩阵,每个位置有一个数,0或1。在(i,j)的位置按一下,则它自身和它上下左右的位置都要反转,要通过这样的操作把所有位置都变为0。输出一个5行6列的矩阵,1表示这个位置按了,0表示没按。 总结:高斯消元,还没有完全弄明白,参考大神博客强行码了一发。。。 // P
阅读全文
摘要:CF #366(div.2) C. Thor 题意:一个手机n个联系人,有q个操作。每次给出ty和ai,如ty==1,表示收到ai的一条信息;如ty==2,表示将ai发的信息都看掉;如ty==3,表示将第1条到第ai条信息都看掉(看过的再看也算)。求每次操作后有多少条信息是没看的。 总结:思维题,看
阅读全文
摘要:POJ 1741 题意:求一棵树中点对<=k的数量。 总结:点分治,搞不太懂。。大概敲了一遍 #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<st
阅读全文
摘要:755D 题意:一个正n边形,n个点按顺时针依次标为1~n。设开始p=1,执行n次,每次连接两点p到p+k。问每次连接后图中有几个多边形。 总结:1e6,每次都搜一下会爆,综测时就这样挂了,不过貌似综测的时候挂了一大片。。 1、n与k互质,所以每个点应该都只会连一次。 2、为了更好写,k=min(n
阅读全文
摘要:1、HDU 1532 最大流入门,n个n条边,求第1点到第m点的最大流。只用EK做了一下。 #include<bits/stdc++.h> using namespace std; #pragma comment(linker, "/STACK:102400000,102400000") #defi
阅读全文
摘要:POJ 3264 题意:n个数,问a[i]与a[j]间最大值与最小值之差。 总结:看了博客,记下了模板,但有些地方还是不太理解。 #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cs
阅读全文
摘要:CF#391 B: 题意:从n个数中取出k个数,这k个数的gcd()不能为1,求最大的k。 总结:数据量很大,1e5,直接瞎搞会爆。类似于素数筛法,用数组标出现过的数,然后1~1e5的质数筛过去,碰到是这n个数中的就加上。 #include<bits/stdc++.h> using namespac
阅读全文
摘要:小白_图论1 1、UVA 10034 最小生成树,水,墨水连点。 2、UVA 10048 floyd,找最小的可行径上的最大边,水,忍受噪音。 3、UVA 10397 最小生成树,题意:架设电缆,但有的点已经相连。 总结:已经相连的点,先连通或者直接标为0。Prim直接过了,但Kruskal一直RE
阅读全文
摘要:CF-补题1 1、CodeForces 735C 题意:n个人淘汰赛,两个人可以比赛的条件是:两人打过的场数之差绝对值<2。求冠军最多可以打多少场。 总结:看了题解,转换一下思路。求n个人最多打几场 -> 打x场最少要几个人。 要最少,则f[x]=f[x-1]+f[x-2](即和打了x-1场和x-2
阅读全文

浙公网安备 33010602011771号