状态压缩
文章平均质量分 59
a1214034447
这个作者很懒,什么都没留下…
展开
-
hdu 6166 - 二分+SPFA
题目链接:点击打开链接题解思路:把所有数转化为二进制那么肯定保证了至少有一位是不同的,10^5小于20位,那么枚举每一位将这位是0的加入一个集合1的加入另外一个集合,跑20次SPFA就行了,那就保证任意两对都会被分到不同集合过。代码:#include#include#include#include#include#include#define inf 0x3原创 2017-08-23 18:59:33 · 316 阅读 · 0 评论 -
2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 M题
解题思路:由于n很小我们很容易就想到用二进制解决这个问题,那么就是将每个集合变成一个数,然后用&判断就行了代码:#include #include #include #include #include using namespace std;typedef long long ll;const int mx = 2e2+10;int n;double a;int原创 2017-09-27 17:12:58 · 444 阅读 · 0 评论 -
hdu 6327 - 期望DP+状态优化
题目链接:点击这里 解题思路:令id[i][j][k]表示最后三个数的gcd是i,最后两个数的gcd是j,最后一个数是k的状态值。这样表示的话状态就会被大大的压缩,而且我们的压缩方法也是正确的。因为题目要求的是gcd而不是他的值,所以不管最后三个数是什么,如果他们的i,j,k相同。说明他们的价值就是一样的。这样就可以把一个100*100*100的状态数压缩成大约1500的状态数。那么当p位...原创 2018-08-03 23:34:55 · 355 阅读 · 0 评论 -
牛客网暑期ACM多校训练营第二场J - 二进制状态压缩
题目链接:点击这里 解题思路:只要田上被施上一次不同的肥料那么植物就死了。那么我们知道两个值不同那么他们的二进制位至少有一位是不同的。根据这一特点,先可以用前缀和求出一块田被施了几次肥。然后枚举每个二进制位,将原来的施肥操作变为施肥值的该二进制位是1才施肥,那么如果一块田两次施肥次数不等,说明该块田至少被一个不等于田地值的肥料施过,那么他肯定就废了。 #include<...原创 2018-08-04 21:36:40 · 176 阅读 · 0 评论 -
牛客练习赛15 F - 压状Kruskal
题目链接:点击打开链接解题思路:大部分都在注释里,这个复杂度很玄学,应该是可以很强的测试数据,要不然我感觉要凉,感觉这个算法复杂度至少得O(n*(n-(2^(按位算1的个数))))#include<bits/stdc++.h>using namespace std;const int mx = 1e5 + 5e4;typedef long long ll;...原创 2018-04-14 21:37:27 · 234 阅读 · 1 评论 -
ACM-ICPC 2018 焦作赛区网络预赛 - K - 背包二进制优化
题目链接:点击这里 解题思路:对于i种物品有2^(c[i])-1个,将个数二进制压缩,原理就跟二进制数可以组成任意数值是一样的,而且由于二进制成倍增长,肯定不会有重复,如果还不懂可以去学习多重背包. #include<bits/stdc++.h>using namespace std;typedef long long ll;const int mod = ...原创 2018-09-17 20:52:38 · 212 阅读 · 0 评论 -
Comet OJ - Contest #0 题解
题目链接:https://cometoj.com/contest/34/problemsA.解方程,(由公式可知y>=z,0<=n<=根号x)移项再平方可得那么如果n是个平方数,很明显解有无穷多个。否则必须满足 n = 4*y*z才有整数解,即 x = (z+y)。所以只要枚举n/4的所有因子就好了。(注意这样做卡longlong,要想不卡去筛素数吧)...原创 2019-04-03 21:15:08 · 652 阅读 · 1 评论 -
Codeforces Round #553 (Div. 2) 题解
题目链接:http://codeforces.com/contest/1151A. Maxim and Biology暴力每个做起点即可。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int mx = 1e2 + 10;char s[mx]; int main(...原创 2019-04-25 21:54:53 · 165 阅读 · 0 评论