10 2017 档案
摘要:链接:https://vjudge.net/problem/UVA-1156 题目大意:给定一个n*n的像素图,有若干种操作将图做一个映射,给定若干映射,求至少反复做这些映射多少次,能得到原图。 分析:将图看做一个n^2*1的向量,每种操作就是一种置换,求出给的置换的乘积M,然后将M分解为正交的若干
阅读全文
摘要:还是太菜了。。感觉是最小割然而不知道怎么建图。。以下是题解
阅读全文
摘要:链接:https://vjudge.net/problem/POJ-2942 题意:给定一个无向图,求出补图,然后求补图中有多少个点不属于任何奇圈。 分析:首先是骑士有不能坐在一起的人,不好想,反过来想,相当于和其他人可以坐在一起,连一条边,围成一圈就变成了该点是否在某个点双连通分量里,所以先用Ta
阅读全文
摘要:链接:http://codeforces.com/gym/100792/my 题意:给定一个有向无环图,求topo序,要求编号小的尽可能往前放,即在所有可能的topo序中,满足1尽量靠前,然后在这个前提下2尽量靠前,以此类推。 分析:难点在于怎么将编号小的尽量往前放。。可以倒着想,先把出度为0且编号
阅读全文
摘要:分析:很容易想到lcm(n,m)是个周期。不妨设n<=m,设k=a*lcm+b*n+c, (0<=b*n<lcm,0<=c<n),记g=gcd(n,m),然后枚举数字num=0,1,2,枚举i=0,1,...,g-1,然后从i开始以n为步长走,直到回到原地,就得到了坐标为j*n+i的所有点走一个周期
阅读全文
摘要:分析:枚举根结点,每次考虑必然包含根结点的子图。如果i在图中,则i在两棵树中的父亲也必然在子图中,所以从i向两个父亲各连一条边,问题就转化为求最大权闭合子图了,每次枚举根结点更新答案即可。
阅读全文
摘要:分析:很容易想到先搞一遍单源最短路径,然后只保留最短路径上的边,接下来容易想到最小生成树,但是因为有的边只删了一个方向,所以变成了有向图了,要求的就是最小树形图,比较麻烦而且容易T。。。 实际上,考虑在连好的图里加一个点,肯定是加连向它的最短边,类似贪心的思路,所以结果就是删完后的图中,每个点的最小
阅读全文
摘要:链接:http://codeforces.com/gym/100801 题意:给一个正整数n,将n拆分为若干个数的和,每个数都是型如2^p*3^q,且两两互不整除。 分析:如果n=2^p*3^q,直接输出n;如果n=2^p*3^q*k,k不能被2或3整除,先拆分k,然后再把拆分结果乘2^p*3^q即
阅读全文
摘要:链接:http://codeforces.com/gym/101128 题意:给定两种点A和B,求有多少个B点,满足存在一个由A组成的三角形,将该点包含在内(包括边界)? 分析:计算几何模板题。。存在一个A三角形包含某个点的充要条件是这个点在A凸包内,所以求一下A凸包,然后枚举B点,对凸包的每一条边
阅读全文
摘要:链接:http://codeforces.com/gym/101128 题意:给定一个n*m的地,每块有两种高度,可以花费b将某一块高变低或低变高,有n+m辆车,分别从左往右、从上往下走,经过不同高度的地交界处花费为a,求最小花费。 分析:想到网络流,没想到怎么构造。。。实际上就是要把高和低分开,同
阅读全文
摘要:链接:https://nanti.jisuanke.com/t/17429 题意:给定一个由n个顶点组成的凸多边形,顶点都是整点,求有多少条对角线可以把该多边形分成两部分,满足两部分的面积都是整数。 分析:多边形面积S=1/2 |∑(xi*y(i+1)-x(i+1)*yi)|,只需要判断绝对值里的东
阅读全文
摘要:链接:https://nanti.jisuanke.com/t/17410 分析:正向分析给跪了。。逆向考虑的话,先模拟一遍,记录下每个黑点被第一次涂黑的时间,然后按时间倒着来,每次把该时间变黑的那些块变白,然后ans++,然后考虑加了这一块以后连通了某些块(包括刚刚变白的这块),把通过连通减少的减
阅读全文