05 2018 档案
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 把每个人都分为左边和右边两个人 xi,yi 如果第i个人不回家或者是外校学生 那么它可以和他认识的人连一条容量为1的边(前提是这个认识的人是本校的学生) (从左边连向右边 然后源点向每个不回家的本校人或者外校人连一条容量为1的边
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 每个点和相邻的4个点连一条容量为1的边。 然后源点和每头羊连容量INF的边 每头狼和汇点连容量INF的边。 这样求最小割的时候只会把栅栏删掉。 然后源点不能到汇点了。 显然就是每头羊都不能和狼联通了(否则肯定能有增广路 a数组一
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 男生和女生每个人都分身成两个节点 即x[1],x[2]和y[1],y[2] 然后如果i和j不相互喜欢 那么add(x[i][2],y[j][2],1) 如果相互喜欢的话 add(x[i][1],y[j][1],1) 然后对于每个
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 有个性质。 如果p/q是分数的最简形式。 那么p/q能化成有限小数。 当且仅当q的质因数分解形式中只有质因子2和5 (且不能出现其他质因子) (也就是说q的质因子只能出现10的质因子里面出现过的 因为只有这样分母才能化成10^n
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 把x..y这条路径上的点标记一下。 然后从x开始dfs,要求不能走到那些标记过的点上。记录节点个数为cnt1(包括x) 然后从y开始dfs,也要求不能走到那些标记过的点上。记录节点个数为cnt2(包括y) 答案就为n (n 1)
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 我们考虑每个字符串中出现最多的字母出现的次数cnt[3] 对于这3个cnt的值。 如果cnt+ns[i].size() 那就有问题了。 因为每次变换的字母不能和原来的一样。 因此全都变成某个字母之后。接下来肯定会破坏这个全都一样
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 第一问是个最短路。 第二问。 利用第一问floyd算出来的任意两点之间的最短路。 那么枚举每一条边(x,y) 如果w[1][x]+cost[x][y]+w[y][n]==w[1][n] 那么就说明(x y)这条边是某条最短路上的
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 最大权闭合子图的模板题。 每个人对两个物品有依赖。 则相当于m+n个点 这m个点是m个用户。 每个用户的权值是正的,为这个用户获得的利益。 然后每个基站对应n个点。这n个点上的权值都是负数的。 表示代价。 然后就是最大权闭合子图
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 转化一下思路。 我们求出任意两个点之间到达 最少经过的障碍物的个数。 最后求出障碍物个数小于等于T的 枚举答案就好。 (任意两点间最少障碍物可以用一个类似spfa的方法求得 (很巧妙的转换 【代码】 cpp include de
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 如果点与点之间的距离都是1的话。 那么T次方之后的矩阵上a[1][n]就是所求答案了。 但是这一题的边权可能会大于1 但最多为10 很容易想到拆点。 我们把每个点又重新分为9个点。 x1,x2,x3..x9 然后对于所有的i,从
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 prufer数列的应用 http://www.cnblogs.com/AWCXV/p/7626625.html 这一题没有节点的度数不定。 因此。 所有节点的度数 1的和结果一定要是n 2. 否则就无解。 然后把tot代成n 2
阅读全文