摘要:
题意是01背包,不过只要物品的重心在背包里就能获得它的价值,这里无论背包多大,都可以放下一个物品。 用dp[i][j]表示背包容量为i时有j个物品折半放,状态转移即可。 阅读全文
摘要:
https://blog.csdn.net/loy_184548/article/details/50073559 1 #include <vector> 2 #include <map> 3 #include <set> 4 #include <algorithm> 5 #include <ios 阅读全文
摘要:
题意:让我们把题目给出的图通过去边的方式,转化成森林,求出所有方案 思路: 那么,森林由树构成,树为n个顶点,n-1条边 有环的图不是树,所以在代码中,先把环的情况先计算出来,然后再看看剩下多少个顶点 那么计算环,可以用dfs深搜而得,算出环中顶点个数,环的贡献权值为:2^n-1, (比如3条边,则 阅读全文
摘要:
思路: "YVG…"代表不同的技能,每个技能有对应的三个按键,按键的顺序任意,每次需要按下R才能发动技能,发动完技能已有的按键不会消失,每次最多存三个按键(R不算)。求最少的按键次数。 比如YV代表两个技能QQQ和QQW, 我们只需要QQQRWR,就可以。因为按键可以保留,那么我们尽量让本次的按键对 阅读全文
摘要:
题意:把n分成m份,使得or值最小 首先,我们要找到他的最高位,如果(2 * k - 1 ) * m > n > (2 *(k-1) - 1) * m, 然后我们就必须把k位赋为1, 为什么呢? 你可以想一下 (2 * k - 1 ) * m 了, 然后如果 再不分的话,就会超过m份。 1 impo 阅读全文