状态压缩
文章平均质量分 50
花王江不语
这个作者很懒,什么都没留下…
展开
-
洛谷P1433 吃奶酪
题链排列 的 装压两个同类型的状压No Change G邦邦的大合唱站队题目描述房间里放着 n 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0)点处。输入格式第一行有一个整数,表示奶酪的数量 n。第 2 到第 (n+1) 行,每行两个实数,第 (i+1) 行的实数分别表示第 i 块奶酪的横纵坐标 xi,yi。输出格式输出一行一个实数,表示要跑的最少距离,保留 2 位小数。#include<bits/stdc++.h>#define go(i原创 2021-11-28 18:29:04 · 161 阅读 · 0 评论 -
洛谷P3092 [USACO13NOV]No Change G
题链约翰到商场购物,他的钱包里有K(1 <= K <= 16)个硬币,面值的范围是1…100,000,000。约翰想按顺序买 N个物品(1 <= N <= 100,000),第i个物品需要花费c(i)块钱,(1 <= c(i) <= 10,000)。在依次进行的购买N个物品的过程中,约翰可以随时停下来付款,每次付款只用一个硬币,支付购买的内容是从上一次支付后开始到现在的这些所有物品(前提是该硬币足以支付这些物品的费用)。不幸的是,商场的收银机坏了,如果约翰支付的硬币原创 2021-11-10 19:50:46 · 134 阅读 · 0 评论 -
洛谷P1879 [USACO06NOV]Corn Fields G
题链#include<bits/stdc++.h>#define ll long long#define mod 100000000#define go(i,a,b) for(int i=a;i<=b;++i)using namespace std;ll dp[20][(1<<12)+10];int fw[(1<<12)+10];int main(){int m,n;cin>>m>>n;go(i,1,m){原创 2021-11-10 17:07:04 · 47 阅读 · 0 评论 -
装态压缩的一些常用操作
s&(s<<1) 判断是否有连续的两个1s&( s - 1 ) 把s的最后面那个1置0假设s和s0是相邻的两行,s&s0 判断这相邻两行是否有上下相邻的1原创 2021-11-10 10:54:56 · 187 阅读 · 0 评论 -
第23次CCF计算机软件能力认证-第4题-202109-4收集卡牌
已满分过题目描述小林在玩一个抽卡游戏,其中有 n 种不同的卡牌,编号为 1 到 n。每一次抽卡,她获得第 i 种卡牌的概率为 pi。如果这张卡牌之前已经获得过了,就会转化为一枚硬币。可以用 k 枚硬币交换一张没有获得过的卡。小林会一直抽卡,直至集齐了所有种类的卡牌为止,求她的期望抽卡次数。如果你给出的答案与标准答案的绝对误差不超过 10−4,则视为正确。提示:聪明的小林会把硬币攒在手里,等到通过兑换就可以获得剩余所有卡牌时,一次性兑换并停止抽卡。输入格式从标准输入读入数据。输入共两行。第一行包原创 2021-10-30 11:21:29 · 1594 阅读 · 0 评论 -
洛谷P3694 邦邦的大合唱站队
题链题目描述N个偶像排成一列,他们来自M个不同的乐队。每个团队至少有一个偶像。现在要求重新安排队列,使来自同一乐队的偶像连续的站在一起。重新安排的办法是,让若干偶像出列(剩下的偶像不动),然后让出列的偶像一个个归队到原来的空位,归队的位置任意。请问最少让多少偶像出列?输入格式第一行2个整数N,M。接下来N个行,每行一个整数ai(1≤ai≤M)a_i(1\le a_i \le M)ai(1≤ai≤M),表示队列中第i个偶像的团队编号。输出格式一个整数,表示答案输入输出样例输入 #1原创 2021-11-09 13:54:28 · 263 阅读 · 0 评论 -
洛谷P1896 [SCOI2005]互不侵犯
题链dp维数不够?再加一维。还不够?再加再加!当使用dp数组的时候,发现一个元素表示的情况仍然存在许多情况,需要再细分才能写出状态转移方程,那就再加一维试试。做难题第一次这样一发入魂(ac),开心!题目描述在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。注:数据有加强(2018/4/25)输入格式只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <=原创 2021-11-09 20:08:14 · 193 阅读 · 0 评论