zoj
我的妹妹syf
我的妹妹不可能那么胖
展开
-
ZOJ 3305 Get Sauce
题目大意: 有M串数字,每个数字都在[1,N]之间,找出一个M的子集,使里面所有的数没有重复,且子集大小最大,输出最大的大小。 M 为了方便处理,由于N 不难发现,对于一个数A,如果在M中存在另一个数B,B的每一位1在A中都为1,那么取A显然就没有意义了。于是我们就把互为子集的数去掉。新学了一种枚举子集的方法QwQ sort(num,num+m); for(int i=0;i<m;i原创 2017-07-05 16:12:27 · 434 阅读 · 0 评论 -
ZOJ 3161 Damn Couple
简单dp,就是题目不太好懂 N个人,M组关系,每次选一种关系,如果两个人相邻,则任意删除其中一个,否则不变。问最坏情况下最多能剩多少人? 发现不相邻的就没有影响了,那么只考虑相邻的。发现相邻的会组成一些连通块,每个连通块的最优结果可以DP: f[i]=max ( min ( f [ j ]+f [ i - j - 1] , f [ j - 1 ] + f [ i - j ] ) ) 附代原创 2017-07-06 16:11:24 · 380 阅读 · 0 评论 -
zoj 3509
题目大意: N个点,M次加边/删边/询问两点连通性操作,初始图为空。N 题解: 想什么呢,大力bitset!N*N*M/32花式水过! 附代码: #include #define N 510 using namespace std; bitset s[N],ned,now,emp; int n,m; inline bool query(int a,int b){ ned=now=s[a原创 2017-07-08 09:53:29 · 347 阅读 · 0 评论 -
BZOJ 1302 ZOJ 2271
简单概率题,新加SPJ,注意n可能是偶数=。=#include<bits/stdc++.h> #define N 110 using namespace std; int n; double dp[N][N][N]; int main(){ while(scanf("%d",&n)!=-1){ for(int i=0;i<=n;i++) ...原创 2018-04-17 15:04:04 · 211 阅读 · 0 评论