题目:http://www.joyoi.cn/problem/tyvj-2054 枚举点集,如果其和为0,则作为一个独立的块求一下最小生成树.因为它可以不和别的块连边. 然后状压dp即可. 别忘了判断该块能不能连通. 别忘了判断无解!(0x3f 真好用) #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ,M=N*(N-…
题目:http://www.joyoi.cn/problem/tyvj-2054 把点分成几个连通块,和为0的几个点放在一块,在块内跑最小生成树作为这个块的代价: 然后状压DP,组成全集的最小代价就是答案: 1A了好高兴! 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ],hd[],ct,f[<&l…
传送:http://www.joyoi.cn/problem/tyvj-2054 来自lyd课件: 所以先预处理出各个sum为0的块,然后状压dfs取min来得到答案 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N=100005,inf=1e9; int n,m,a[N],c[N],w[N],fa[N],f[N],tot; bool v[N]…
BZOJ_3058_四叶草魔杖_kruscal+状压DP Description 魔杖护法Freda融合了四件武器,于是魔杖顶端缓缓地生出了一棵四叶草,四片叶子幻发着淡淡的七色光.圣剑护法rainbow取出了一个圆盘,圆盘上镶嵌着N颗宝石,编号为0~N-1.第i颗宝石的能量是Ai.如果Ai>0,表示这颗宝石能量过高,需要把Ai的能量传给其它宝石:如果Ai<0,表示这颗宝石的能量过低,需要从其它宝石处获取-Ai的能量.保证∑Ai =0.只有当所有宝石的能量均相同时,把四叶草魔杖插入圆盘中央,才能…
传送门 Background 陶醉在彩虹光芒笼罩的美景之中,探险队员们不知不觉已经穿过了七色虹,到达了目的地,面前出现了一座城堡和小溪田园,城堡前的木牌上写着"Poetic Island". "这一定就是另外两位护法的所在地了--我们快进去吧!" 探险队员们快步进入了城堡,城堡大厅的羊毛沙发上坐着两个人. "你们是Nescafe的护法吧?" "是的哦~ 我们就是圣剑护法rainbow和魔杖护法freda~ 你们来这里做什么呢~"…
题目链接 \(2^{16}=65536\),可以想到状压DP.但是又有\(\sum A_i\neq 0\)的问题.. 但是\(2^n\)这么小,完全可以枚举所有子集找到\(\sum A_i=0\)的,先使这整个子集内满足平衡,求一棵最小生成树就一定可以了. 这样可能会不最优,我们可以用更小的子集(小的话还是最优的)去更新大的. 还需要合并这些子集.将任意两个\(\sum A_i=0\)的子集都是合法的,且会更新到所有情况. \(2^n\times 2^n\)枚举\(\sum A_i=0\)的子集…
1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3336  Solved: 1936[Submit][Status][Discuss] Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. Input 只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K &…
题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=1109 //我们校赛的一个题,状压dp,还在的人用1表示,被淘汰的人用0表示.倒着循环即可. //比赛的时候我用的是二维dp数组表示状态,一直是WA的,搞不懂原因...Orz... 代码: #include<iostream> #include<cstdio> #include<algorithm> #include<cstrin…
题目链接:http://poj.org/problem?id=3311 题意:一个人到一些地方送披萨,要求找到一条路径能够遍历每一个城市后返回出发点,并且路径距离最短.最后输出最短距离即可.注意:每一个地方可重复访问多次. 经典的状压dp,因为每次送外卖不超过10个地方,可以压缩. 由于题中明确说了两个城市间的直接可达路径(即不经过其它城市结点)不一定是最短路径,所以需要借助floyd首先求出任意两个城市间的最短距离. 然后,在此基础上来求出遍历各个城市后回到出发点的最短路径的距离,即求解TSP…
[NOIP2016]愤怒的小鸟 D2 T3 Description Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形如y=ax2+bx的曲线,其中a,b是Kiana指定的参数,且必须满足a<0. 当小鸟落回地面(即x轴)时,它就会瞬间消失. 在游戏的某个关卡里,平面的第一象限中有n只绿色的小猪,其中第i只小猪所在的坐标为(xi,yi). 如果某只小鸟的飞行…