![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
位运算
文章平均质量分 55
光球层上的黑子
是个菜狗
展开
-
P2473 奖励关 状压概率DP求期望
题目链接https://www.luogu.com.cn/problem/P2473题意n轮,m种球,每轮随即一个球,可以接可以不接,接的话需要满足这个球的前置条件(比如3号球接球必须已经接过1,4号这种),然后获得一定分数(可负)。问最佳策略下期望得分思路练了这点DP总算有点眉目了。求期望,并且发现我们前面的操作是有后效性的(我们需要作出吃负分,更新状态的不贪心操作),我们考虑倒推显然我们需要记录当前状态以判断是否能接某个球,考虑状态压缩,某位置为1代表接到过这种球,对于只需要考虑是否接过球原创 2021-06-22 11:42:04 · 87 阅读 · 0 评论 -
POJ 3071(Football) 直球概率DP+位运算
题目链接http://poj.org/problem?id=3071题意2^n个球队,n轮比赛,每次比赛是按序号排好,第一打第二,第三打第四,如此。输了直接淘汰,给出任意两支队比赛获胜概率,问最可能夺冠的队伍。思路概率DP,dp[i][j]代表第i只球队撑过了第j轮的概率,对所有dp[i][n]求个max即可。转移方程也好说,是dp[i][j]=dp[i][j−1]∗∑k与j可以对决(dp[k][j−1]∗p[i][k])dp[i][j]=dp[i][j-1]*\sum_{k与j可以对决}(原创 2021-06-21 22:04:46 · 215 阅读 · 0 评论 -
洛谷P2962 位运算,meet in middle
题目链接https://www.luogu.com.cn/problem/P2962题意给出n点m边无向图,每一个节点都是开关,触发后会将它自己和所有直接相连节点状态改变(0->1,1->0)。初始全部状态为0,问最少几步全1。n<35思路首先易知任意一个节点最多摁下1次,因为摁下两次相当于没有操作最朴素的方法就是搜索,我们利用二进制数来模拟点开关状态,不用常规的存图方法,我们用数组g记录节点x触发后可以直接改变的点。从1-n枚举每个点开关状态,触发新的点后的状态转移可以用二进原创 2021-03-27 22:15:30 · 311 阅读 · 0 评论 -
11.12PTA训练 人狼羊菜过河 搜索,位运算
题意人不在的时候狼吃羊,羊吃菜,用MWGC表示人狼羊草,箭头代表行进方向,输出所有由初始情况到最终情况的解决方案思路目前为止写得最头疼的搜索因为一岸的状态确定了,另一岸也就唯一确定了,所以可以用五位二进制数表示当前状态。之后利用位运算的操作就可以进行搜索,用vector存储进行到当前状态的二进制数,得到结果后输出即可。为了防止重复访问,要开vis数组记录某个状态是否到过代码#include<cstdio>#include<iostream>#include<io原创 2020-11-14 19:34:14 · 1505 阅读 · 0 评论 -
Codeforces Round #320 “Or“ Game 位运算 前缀和 暴力
题目链接http://codeforces.com/problemset/problem/578/B题意2e5数组,可对任意元素做*x的操作,最多k次,求处理后每个元素按位或的最大值思路首先可以证明,k次一定是对同一个数进行操作。因为x大于2,所以操作后一定会让二进制串增大最少一位,假如不是全分配给一个,则一定可以重新分配成全分配给一个,最高位更大,答案更大的情况。不能简单的对最大的数字做k次操作。比如100 110,x=2,k=1时,若对100做操作答案为1110,若对110做操作答案为11原创 2020-10-17 22:03:48 · 71 阅读 · 0 评论 -
起床困难综合症 Acwing 98 按位枚举
题目链接https://www.acwing.com/problem/content/description/93/题意无向图求最短哈密顿路,哈密顿路是每个节点仅访问一次的路径N<=20思路状态压缩,用一个2进制串代表状态,0代表未访问,1代表访问过了。那么0—(1<<N)-1可以代表N个节点下所有状态,dp[i][j]代表i状态下停留在j节点的最短路,将i状态中j对应节点的1赋值为0后的状态记为i‘,那么dp[i’][j]就等于所有dp[i’][j]的最小值。最终答案就是dp原创 2020-09-22 09:07:57 · 119 阅读 · 0 评论