E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
——状压dp
HDU - 1565 方格取数(1)
状压DP
Description给你一个n*n的格子的棋盘,每个格子里面有一个非负数。从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大。Input包括多个测试实例,每个测试实例包括一个整数n和n*n个非负数(n#include#include#includeusingnamespacestd;constintmaxn=23;inta[maxn
小么额菇
·
2020-07-14 04:41
HDU
Hrbust 1259 HaHa's Morning【
状压dp
---求拓扑排序方案数】
HaHa'sMorningTimeLimit:1000MSMemoryLimit:65536KTotalSubmit:26(14users)TotalAccepted:9(9users)Rating:SpecialJudge:NoDescriptionHaHaissohappytoday,heisgoingtoparticipatethe7thHunanUniversityProgrammingC
mengxiang000000
·
2020-07-14 01:13
dp
[清华集训2015 Day1]主旋律-[
状压dp
+容斥]
DescriptionSolutionf[i]表示状态i所代表的点构成的强连通图方案数。g[i]表示状态i所代表的的点形成奇数个强连通图的方案数-偶数个强连通图的方案数。g是用来容斥的。先用f更新g。枚举状态i的编号最小点k所在连通块大小i-j,$g[i]=-\sum_{j\subseti}f[i-j]*g[j]$(此处g中不更新强连通图个数为1的。设点集i中有sum条边,则:$f[i]=2^{s
diancao3075
·
2020-07-13 04:55
玉米田(
状压DP
)
题目:P1879[USACO06NOV]玉米田CornFields参考:状态压缩动态规划
状压DP
农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1≤M≤12;1≤N≤12),每一格都是一块正方形的土地
weixin_30633405
·
2020-07-12 06:46
#
状压dp
,容斥#JZOJ 4555 没有强联通分量的无聊世界
题目在一个有向图中问最少去掉多少条边使剩下的图是一个DAG分析容斥,用总边数减去能形成有向无环图的边数即为答案,设dp[S]dp[S]dp[S]表示选择的集合为SSS所能选的环,那么每当选一个点,就加上它的出边集合与当前所选集合的按位与的二进制位为1的个数,即dp[S∣x]=max(dp[S∣x],dp[S]+cnt[chu[x]&S])dp[S|x]=max(dp[S|x],dp[S]+cnt[
ssl_xjq_逐风之刃
·
2020-07-12 00:31
状压dp
容斥定理
P1278(单词游戏 dfs完成
状压dp
状态的转移)
题目dp[i][S]:当前状态S下选的最后一个单词为i,还可以最多填充多少+单词i本身的长度。所以dp[now][S]=max(dp[now][S],dp[i][S|(1#definem(a,b)memset(a,b,sizeofa)usingnamespacestd;constintN=16+2,M=100+5;chars[N][M];intlen[N];intdp[N][1#definem(a
Helium_wild
·
2020-07-11 20:01
DP==状压dp
【题解】LuoGu5369:[PKUSC2018]最大前缀和
这样子又不是会有人看不出来求全排列的最大前缀和之和首先可以发现一个重要性质,对于一个排列,若最大前缀和的结尾位置在ppp,可以发现∑i=xpai>0(x0(x0(xp)\sum_{i=p+1}^{x}a_ip)i=p+1∑xaip)根据这个性质可以
状压
ModestCoder_
·
2020-07-10 22:00
题解
LuoGu
DP
[USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper——[
状压DP
]
【原题】AlittleknownfactaboutBessieandfriendsisthattheylovestairclimbingraces.Abetterknownfactisthatcowsreallydon’tlikegoingdownstairs.Soafterthecowsfinishracingtothetopoftheirfavoriteskyscraper,theyhadap
KajKeusaka
·
2020-07-10 22:09
状态压缩dp
test 11-10 [水题
状压DP
dfs序+线段树]
第一题水题,略过。。。T2【题目描述】我们要从n种食物选m个出来,安排一个顺序吃掉它(们),每种食物有个美味值ai,然后我们有k个规则,每个规则有xi,yi和ci三个数,如果吃完第xi种食物接下来马上吃第yi种食物,第j种食物的美味值会增加ci。每种食物至多吃一个,求美味值最大的和是多少?【输入格式】第一行有三个数n,m,k,k代表有k个规则(0#include#include#includeus
Baroth
·
2020-07-10 20:25
树
线段树
状压dp
dp
dp
dfs
线段树
状压dp
POJ 2688 Clean Robot
,代表可以走的道路,'o',你的初始位置,‘x'墙,'*',垃圾,也就是你要去的地方,你的任务是找到一条最短路径来清理垃圾,若没有这条路,则输出-1,多组输入思路据说是TSP然而我不会,据说可以
状压DP
AcerMo
·
2020-07-10 15:06
爆搜
CF895C Square Subsets(
状压dp
)
CF895CSquareSubsets(
状压dp
)时间限制4.00s内存限制250.00MBjudge:点我跳转题目描述Petyawaslateforthelessontoo.Theteachergavehimanadditionaltask.ForsomearrayaaPetyashouldfindthenumberofdifferentwaystoselectnon-emptysubsetof
Dream Flying Eagle
·
2020-07-10 10:55
dp-动态规划
状压dp
状压DP
状压DP
一般n#include#include#include#include#include#includeusingnamespacestd;structttt{doublex1,y1,x2,y2;
ye-leng
·
2020-07-09 23:33
----状压DP
uoj#214. 【UNR #1】合唱队形
min-max容斥\(m\)大了直接爆搜\(m\)小的话就
状压DP
先开小数组dp两维开数组时还弄反了...
ProgrammerStrange
·
2020-07-09 10:00
西南科技大学第十六届ACM程序设计竞赛暨绵阳市邀请赛(A 打表找规律,B 组合数学 C 简单构造 D
状压dp
E 唯一分解处理大LCM)
题目链接A-找规律做法:这题根据网友的做法,对给的两个样例进行最简单的位置变化变化8次发现两个的样例答案都是对的上的,于是盲搞了一发,AC,原理不知。。大概跟循环节有关吧。#includeusingnamespacestd;#definefifirst#definesesecond#definepbpush_back#definempmake_pair#defineall(x)(x).begin(
ccsu_deer
·
2020-07-09 08:01
牛客题解
(
状压dp
)2017 计蒜之道 复赛 F. 腾讯消消乐
腾讯推出了一款益智类游戏——消消乐。游戏一开始,给定一个长度为nn的序列,其中第ii个数为A_iAi。游戏的目标是把这些数全都删去,每次删除的操作为:选取一段连续的区间,不妨记为[L,R][L,R],如果这一段区间内所有数的最大公约数\geqk≥k(kk值在游戏的一开始会给定),那么这一段区间就能被直接删去。注意:一次删除以后,剩下的数会合并成为一个连续区间。定义f(i)f(i)为进行ii次操作将
weixin_30883271
·
2020-07-08 15:24
SNNU女装T台走秀(
状压dp
)
呜啦啦啦啦啦啦~~!!SNNU首届女装T走秀大赛开始了!本次比赛共有N名队员希望参加比赛;ddjing希望这次比赛尽可能的吸睛,因此他决定对N名队员进行一次海选;多亏ddjing有一双发现美的眼睛,他发现,每个人都有一个乃至多个的个性,ddjing把这些个性编号为1~M(12usingnamespacestd;3intt,n,m,bag[1002][1027],q,s;//第二维大于1024即可4
weixin_30606669
·
2020-07-08 14:58
【洛谷习题】吃奶酪
个人感觉这题像是TSP问题的弱化版,以后可以尝试用
状压DP
做一下。有一个读题方面的细节,题目里说了,坐标是实数,不一定是整数。1#
weixin_30314793
·
2020-07-08 13:37
P1433 吃奶酪(
状压dp
)
洛谷/题目列表/题目详情P1433吃奶酪提交23.28k通过9.30k时间限制1.00s内存限制125.00MB题目描述房间里放着n块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处。输入格式第一行一个数n(nusingnamespacestd;constintN=1>n;p[0].x=p[0].y=0;for(inti=1;i>p[i].x>>p[i].y;}ini
tb_youth
·
2020-07-08 07:42
动态规划
洛谷
【AcWing 91】 最短Hamilton路径
状压DP
+ 位运算 详解
给定一张n个点的带权无向图,点从0~n-1标号,求起点0到终点n-1的最短Hamilton路径。Hamilton路径的定义是从0到n-1不重不漏地经过每个点恰好一次。输入格式第一行输入整数n。接下来n行每行n个整数,其中第i行第j个整数表示点i到j的距离(记为a[i,j])。对于任意的x,y,z,数据保证a[x,x]=0,a[x,y]=a[y,x]并且a[x,y]+a[y,z]>=a[x,z]。输
追风者_
·
2020-07-08 03:38
AcWing
位运算
动态规划
HDU - 3538 A sample Hamilton path(最短哈密顿路径+
状压dp
)
题目链接:点击查看题目大意:求从0开始的最短哈密顿路径,并且要求了某些点的先后顺序题目分析:哈密顿路径:由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次(百度百科)既然按照一定的次序求最短路,可以模仿floyd求最短路的思想,然后套用状态压缩的模板来做,在状态压缩的过程中,1表示该点已经走过,0表示该点还未走过,dp[i][j]代表状态i到终点j的最短距离,那么初始化就是dp[1][0
Frozen_Guardian
·
2020-07-08 03:04
状压dp
牛客 - 收集纸片(最短哈密顿路径-
状压dp
)
题目链接:点击查看题目大意:给出一个n*m的二维平面,其中有k个纸片,给出第一个纸片的位置,要求从第一个纸片出发,经过每个纸片一次后再回到第一个纸片的位置,输出最短路径题目分析:最短哈密顿路径的模板题,比赛的时候为什么没看出来呢。。好像是被n*m很小所迷惑了,感觉像是一道搜索题,但想了半天没什么思路就不想做了,赛后回顾一下的时候发现,k给的特别小,最大只有11,而且题目的条件又完全符合哈密顿路径的
Frozen_Guardian
·
2020-07-08 03:04
状压dp
动态规划
洛谷P1896-互不侵犯(
状压dp
)
题意:洛谷P1896在N×NN×NN×N的棋盘里面放KKK个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共888个格子。(N<=9,K<=N∗N)(N<=9,K<=N*N)(N>1)&y)!=0!=0!=0。正上方的判断:(x&y)(x\&y)(x&y)!=0!=0!=0递推完后,我们加上
ChaseNo1
·
2020-07-08 03:21
dp
Dice(找规律+
状压DP
)
1≤n≤161\len\le161≤n≤16解题思路:看到n这么小,第一时间想到
状压DP
,dp[mask][u]dp[mask][u]dp[mask][u]表示经过了点集mask且最后一个点为u所需要的最小花费
_ 泛白
·
2020-07-08 02:02
dp
最短Hamilton路径(哈密顿图,
状压dp
)
题目:给定一张n个点的带权无向图,点从0~n-1标号,求起点0到终点n-1的最短Hamilton路径。Hamilton路径的定义是从0到n-1不重不漏地经过每个点恰好一次。输入格式第一行输入整数n。接下来n行每行n个整数,其中第ii行第jj个整数表示点ii到jj的距离(记为a[i,j])。对于任意的x,y,z,数据保证a[x,x]=0,a[x,y]=a[y,x]并且a[x,y]+a[y,z]>=a
洋-葱
·
2020-07-08 02:56
dp
图论
P1896 [SCOI2005]互不侵犯-动态规划,
状压dp
在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。https://www.luogu.org/problemnew/show/P1896#include#include#include#definelllonglongusingnamespacestd;lln,k,cnt,ans;boola[1>1
LingFengNJT
·
2020-07-08 02:03
动态规划-状压
noip历年省选
CodeCraft-20 (Div. 2) E.Team Building
思路:考虑
状压dp
dpdp,f[i][j]f[i][j]f[i][j]表示到第iii个人时的第jjj个状态的最大能力,状态表示每个位置被选与否。
pubgoso
·
2020-07-08 01:22
cf
dp
吃奶酪
状压dp
吃奶酪
状压dp
题目描述房间里放着n块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处。
looooooogn
·
2020-07-08 00:30
洛谷P1433 吃奶酪和memset
奶酪状态压缩(
状压DP
)#includeusingnamespacestd;doublex[16],y[16],dis[16][16],f[1>n;for(i=1;i>x[i]>>
书伯
·
2020-07-07 16:32
笔记
吃奶酪——
状压DP
洛谷p1433题目大意给出n个点的坐标,求从原点出发遍历这些点的最短路径。n#include#includeusingnamespacestd;#defineINF1000000000structnode{doublex,y;}a[20];intn;doublef[20][100000];doubledist(nodea,nodeb){returnsqrt((a.x-b.x)*(a.x-b.x)+
liuzibujian
·
2020-07-07 14:08
洛谷P1433 吃奶酪---状压模板
这题相当于求最佳全排列,所以可以使用
状压dp
来做,其实递归加回溯也可以解决。
迷你之忍
·
2020-07-07 10:03
洛谷
洛谷 2258
这道题我们一看数据范围第一感觉是
状压DP
,将每一列的选与不选看成是一个二进制数,但是这道题我们考虑如果知道了每一列选与不选,我们每一行的差值,现在问题就变成了在n列中选r行使其形成的矩阵值最小。
TSOI_Vergil
·
2020-07-07 00:08
DP
1801: [Ahoi2009]chess 中国象棋
题解:
状压dp
比较好想……首先,条件可以转化为每一行/列上最多只有两个炮。考虑到每一列之间都是等价的,影响决策的只是每一列上炮的数量。所以可以用数量来划分状态。
Mmh2000
·
2020-07-06 23:23
1751-2000
洛谷:P5911 [POI2004]PRZ
标题:
状压dp
题目背景一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥。题目描述桥已经很旧了,所以它不能承受太重的东西。任何时候队伍在桥上的人都不能超过一定的限制。
容艾假
·
2020-07-06 19:34
动态规划
noip2017 Day2 T2 宝藏
题面题意给出一副无向图,每条边都有一个权值且均未开通,先可以随便取一个起点,要开通一些边,使它成为一个连通图,开通一条边的代价为权值*起点到它的点的个数(起点也算),求最小代价.方法考试时想到的是一种十分暴力的
状压
yzyyylx
·
2020-07-06 11:12
dp
树
经典
状压dp
总结
状压dp
总结模型枚举子集1.O(3n)O(3^n)O(3n)对于每一位,有3种状态:在原集和子集中,在原集中不在子集中,在子集中不在原集中。
逗番茄
·
2020-07-06 11:38
oi总结
学习笔记:插头DP(BZOJ2331: [SCOI2011]地板)
插头DP插头DP的状压是要把整行的插头情况全部状压进去,所以说插头DP也是
状压DP
的一种(不要尝试不压缩)插头DP大多逐格递推,当前格仅需要上一格递推,所以可以滚动。
星辰大少主
·
2020-07-06 08:07
状压DP
插头DP
bzoj4086 [Sdoi2015]travel(分类讨论+容斥原理)
题目链接分析:第一眼看到这道题的时候,以为是一道
状压dp
(毕竟k的范文很小啊)于是设计了许多奇怪的状态,但是由于ny经过5个点因此此时点对(x,y)是合法的K=6:思路与K=5的情况大概相同记链为x—>
Coco_T_
·
2020-07-06 07:36
组合数学
省选
4416: [Shoi2013]阶乘字符串|
状压DP
f[S]表示当前的集合为S时满足阶乘字符串时的最后一个字母的位置。g[i][j]表示以i+1开始的第一个j字母出现的位置。然后枚举子集转移,最后判断一下是否满足f[(121那么直接判去#includeusingnamespacestd;intf[2222222],g[555][22],n,T,m,w;chars[555];intmain(){scanf("%d",&T);while(T--){sc
ws_yzy
·
2020-07-06 07:25
动态规划
acwing 91. 最短Hamilton路径(哈密尔顿)
传送门
状压dp
#includeusingnamespacestd;constintN=20,M=1>j&1)for(intk=0;k>k&1)f[i][j]=min(f[i][j],f[i-
zzulihrs
·
2020-07-06 05:12
动态规划
acwing 291. 蒙德里安的梦想
状压dp
板题#includeusingnamespacestd;typedeflonglongll;constintN=12,M=1>j&1){if(c&1)st[i]=0;c=0;}elsec++;if
zzulihrs
·
2020-07-06 05:12
动态规划
[
状压DP
][BFS][哈希]JZOJ 3243 Cube
Description你被困在一个密室里。经过一轮摸索,你在密室里有所发现:1.密室是一个呈m×n网格的长方形,地面有六个格子被上了色;2.密室地面部分格子可能有障碍物;3.密室的某一格有一个六面都没上色的立方体;4.当立方体滚动到相邻无障碍物的格子,如果立方体接触地面的一面没有颜色而地面有颜色,则该颜色会从地面转移到立方体上;如果立方体接触地面的一面有颜色而地面没有颜色,则该颜色会从立方体转移到
weixin_34248258
·
2020-07-06 00:49
SRM709 div1 Xscoregame(
状压dp
)
题目大意:给定一个序列a,包含n个数(n>6)找到所有小于64部分的异或>>6大于1的值,然后更新那些可行的状态即可最后输出就是大于64的部分#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;voidprint(intx){cout>=1
weixin_34148508
·
2020-07-06 00:02
BZOJ 4420二重镇题解
链接思路借鉴了这个博客:我们可以想到
状压dp
用一个十进制数来表示状态,即第i位表示位置i处的物品等级用f[i][j][k]表示第i天,仓库的物品等级为j,状态为k时的最大收益但是状态数貌似很多,开不下,
weixin_30706507
·
2020-07-05 21:21
CF#321-D - Kefa and Dishes-
状压DP
+bitmasks
http://codeforces.com/contest/580/problem/D题意给出n个菜,要选出m个每个菜有一个权值aa[i]另有k个额外的条例条例格式XYC:如果先吃第X个菜,马上接着吃Y个菜,会得到额外的权值C求n个菜选m个的条件下,可以得到的最大权值思路:由于n=18,所以我们可以用一个数的二进制位,来表示有没选第i道菜,也就是用一个数来表示当前选择的菜的状态i从0表示一个不选到
yuhong_liu
·
2020-07-05 19:35
CF
dp-----------
bitmask
动态规划
状压dp
TopCoder SRM 672 Div2 Problem 1000 - Tdetectived2 (
状压dp
)
题意抓小偷,先从目击者0开始,选择犯罪可能性最大的一个人,如果有多人相同,选择哪个都有可能。然后更新所有人的犯罪可能性。问如果一个人是小偷,最少几轮能被发现。思路比赛的时候理解错题意了,以为犯罪的可能性是加上去的,实际上范围只是0~9,只不过用来维护。所以样例一直搞不过去。dp[state]表示state状态到找到小偷状态需要多少步。state状态里都是已经调查过的人,所以当我们拿到一个新的状态的
IceIceBear
·
2020-07-05 18:01
TopCoder
TopCoder SRM 663 Div2 Problem 1000 - CheeseRolling (
状压dp
)
题意n个人,每个人对上谁都有胜负。现在问如何安排比赛,输出每个人最后的胜利的情况数。思路唐老师原话。点集为i胜者为j的方案数实际上有用的状态不多i里的点数是2的幂次然后枚举i的子集s,使得s点数是i的一半,t=ixors,也就是补集,枚举两个子集里的胜者,然后将方案数加到两个胜者比赛后的胜者里。TC的官方题解Whatwecandoisrepresentthisasf(i,S),whereiisth
IceIceBear
·
2020-07-05 18:01
TopCoder
TopCoder SRM 667 Div1 Problem 250 - OrderOfOperations (
状压dp
)
题意给出一些01串,我们的目标是选中全部的位置。每选择一个串,如果那个串中的1的位置之前没被选过,cnt++。统计完之后,ans+=cnt^2。问如何选择串的顺序,使得最后的值最小。思路一开始去想贪心了,乱搞了好一会儿也搞不出来。感觉这题用循环写dp比用记忆化要方便一点。我们用dp[state]表示state状态所用的最小值。dp[cur_state|another_state]=min(self
IceIceBear
·
2020-07-05 18:00
TopCoder
HDU 4352 XHXJ's LIS 数位
状压DP
题目大意:就是现在对于每个正整数可以将其每位视为一个数形成一个串,那么这一组数就存在一个最长上升子序列,对于每组给出的L,R(0#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include
Gatevin
·
2020-07-05 18:04
HDU
NOIP2014 子矩阵
状压dp
水题。
查尔斯欢
·
2020-07-05 16:53
动态规划
CQOI 2018 题解
[CQOI2018]社交网络矩阵树模板[CQOI2018]解锁屏幕
状压DP
模板[CQOI2018]交错序列xayb=(n−y)ayb=∑i=0a(ni)ni(−1)a−iya+b−ix^ay^b=(n-y
FSYo
·
2020-07-05 13:11
省选
NOI题解
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他