cogs 2620. [HEOI2012]朋友圈】的更多相关文章

/*70分 被卡T*/ #include<iostream> #include<cstdio> #include<cstring> using namespace std; ],b[],na,nb,m,head[],num; ],Link[],vis[],tim[],T; ][]; ]; void Insert(int from,int to){ e[++num].to=to; e[num].pre=head[from]; head[from]=num; } int c…
2744: [HEOI2012]朋友圈 Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 612  Solved: 174[Submit][Status][Discuss] Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目. 两个国家看成是AB两国,现在是两个国家的描述: 1.         …
2744: [HEOI2012]朋友圈 Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目. 两个国家看成是AB两国,现在是两个国家的描述: 1.         A国:每个人都有一个友善值,当两个A国人的友善值a.b,如果a xor b mod 2=1, 那么这两个人都是朋友,否则不是: 2.         B国:每个人都有一个友善值,当…
Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目. 两个国家看成是AB两国,现在是两个国家的描述: 1.         A国:每个人都有一个友善值,当两个A国人的友善值a.b,如果a xor b mod 2=1, 那么这两个人都是朋友,否则不是: 2.         B国:每个人都有一个友善值,当两个B国人的友善值a.b,如果a xor…
Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目. 两个国家看成是AB两国,现在是两个国家的描述: 1. A国:每个人都有一个友善值,当两个A国人的友善值a.b,如果a xor b mod 2=1, 那么这两个人都是朋友,否则不是: 2.B国:每个人都有一个友善值,当两个B国人的友善值a.b,如果a xor b mod 2=0 或者 (a…
Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目. 两个国家看成是AB两国,现在是两个国家的描述: A国:每个人都有一个友善值,当两个A国人的友善值a.b,如果a xor b mod 2=1,那么这两个人都是朋友,否则不是: B国:每个人都有一个友善值,当两个B国人的友善值a.b,如果a xor b mod 2=0或者 (a or b)化成…
在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着. 一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目.两个国家看成是AB两国,现在是两个国家的描述: A国:每个人都有一个友善值,当两个A国人的友善值a.b,如果a xor b mod 2=1,那么这两个人都是朋友,否则不是: B国:每个人都有一个友善值,当两个B国人的友善值a.b,如果a xor b mod 2=0 或者 (a or b)化成二进制有奇数个1,那么…
题目内容 洛谷链接 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着. 一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目.两个国家看成是AB两国,现在是两个国家的描述: \(A\)国:每个人都有一个友善值,当两个\(A\)国人的友善值\(a,b\),如果\(a\text{ xor}\text{ }b \bmod 2=1\),那么这两个人都是朋友,否则不是: \(B\)国:每个人都有一个友善值,当两个\(B\)国人…
题目 我们发现我们要求的是一个最大团问题,众所周知这是一个\(NP\)难问题,除了爆搜没有什么别的方法,但是这道题我们可以根据图的特殊性质入手 我们如果把\(B\)国的人分成奇数和偶数两类,就会发现奇数和偶数这两部分都是一个团 而且这两部分之间有一些连边 很像二分图是吧,就只是左右两边的点从两两没边变成了两两有边 于是我们取一个补图,这张图就变成了一张二分图 补图有一个非常好的性质,补图最大独立集等于原图最大团 这个很好理解吗,最大团要求两两有边,最大独立集要求两两没边,于是把边的存在性取反之后…
#include<cstdio> #include<iostream> #define M 3010 using namespace std; ],u[M*M>>],cnt,ans,f1,f2,ban[M],f[M],k[M],pi[M]; int ji(int a1) { ; for(;a1;) { a1-=a1&-a1; sum++; } return sum; } void jia(int a1,int a2) { cnt++; next[cnt]=hea…