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
SCOI2005
bzoj 1087: [
SCOI2005
]互不侵犯King
1087:[
SCOI2005
]互不侵犯KingTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 2600 Solved: 1540[Submit][Status]
clover_hxy
·
2016-04-24 21:00
[BZOJ1087][
SCOI2005
]互不侵犯King(状压dp)
题目描述传送门题解用二进制数表示一行放国王的状态,预处理某种状态是否能在一行出现,以及某两种状态是否可以放在相邻的两行。状态:f[i][j][k]表示放到第i行一共放了j的国王状态为k的方案数。转移:f[i][j][k]=f[i-1][j-cnt[i]][k’],其中cnt[i]表示这个状态一行中国王的数量,k’表示转移来的状态。代码#include #include #include using
Clove_unique
·
2016-04-24 19:00
dp
bzoj
SCOI
【BZOJ1084】[
SCOI2005
]最大子矩阵【DP】
【题目链接】终于A了这题了。m=1和m=2两种情况分开做。对于m=1,很简单的DP。设dp[k][n]表示前n个数字,分为k段的最大权值。(1)不取第n个数,dp[k][n]= dp[k][n-1];(2)取第n个数,并组成新的一段,dp[k][n]=max{dp[k-1][j]+sum[n]-sum[j]}(0 #include #include usingnamespacestd; con
BraketBN
·
2016-04-15 22:00
[
scoi2005
]王室联邦 解题报告
拿来学了一下树分块。树分块的要求是把树分成⌈NB⌉块,每一块的每个节点到这个块的lca的之间的节点数不超过3B.(好像在很久以前听谁讲过。。)做法是按dfs序出栈或bfs倒序考虑,把当前这个子树的剩余块加到它的父亲上,如果它的父亲上的块已经≥b就把这个块取出来。这样的话出来的就是若干大小在[b,2b)的块加上一个在[0,b)的块,注意到按dfs或bfs序考虑时,倒数第二个块与最后一个块一定是联通的
TA201314
·
2016-04-15 10:00
bfs
分块
dfs序
BZOJ 1085([
SCOI2005
]骑士精神-A*)
在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士,且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘:如果能在15步以内(包括15步)到达目标状态,则输出最小步数,否则输出-1。用到了A*#include usingnamespacest
nike0good
·
2016-03-31 13:00
BZOJ 1086([
SCOI2005
]王室联邦-树的划分)
题意:国家有n个城市,编号为1..n。一些城市之间有道路相连,任意两个不同的城市之间有且仅有一条直接或间接的道路。为了防止管理太过分散,每个省至少要有B个城市,为了能有效的管理,每个省最多只有3B个城市。每个省必须有一个省会,这个省会可以位于省内,也可以在该省外。但是该省的任意一个城市到达省会所经过的道路上的城市(除了最后一个城市,即该省省会)都必须属于该省。求任意可行解。n,b=b的子树时,以该
nike0good
·
2016-03-30 20:00
【BZOJ1085】[
SCOI2005
]骑士精神【搜索】【剪枝】
【题目链接】大暴搜。加个剪枝,如果当前棋盘与目标棋盘相差超过限定步数,那么肯定不行了。注意要保证步数最小,所以要从小到大枚举步数。/*FootprintsInTheBloodSoakedSnow*/ #include #include #include usingnamespacestd; constintmaxn=7; intans[maxn][maxn]={ {0,0,0,0,0,0},
BraketBN
·
2016-03-29 17:00
搜索
【BZOJ1083】[
SCOI2005
]繁忙的都市【最小瓶颈生成树】
【题目链接】最小瓶颈生成树=最小生成树水过。/*FootprintsInTheBloodSoakedSnow*/ #include #include usingnamespacestd; constintmaxn=305,maxm=50005; intn,m,fa[maxn]; struct_edge{ intu,v,w; booloperator'9';ch=getchar())f=c
BraketBN
·
2016-03-28 18:00
bzoj1087: [
SCOI2005
]互不侵犯King
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1087题意:中文题。分析:因为n特别小,我们可以直接用状态压缩来表示每一行的状态,然后判断是否可行即可。PS:我的程序跑出来有点慢,应该是对于cal函数的多次计算的问题,其实我们可以预处理出来,然后每次O(1)调用即可。代码:#include #include #include #include
Fsss_7
·
2016-03-19 17:00
bzoj 1085 骑士精神
1085:[
SCOI2005
]骑士精神TimeLimit:10SecMemoryLimit:162MBSubmit:1461Solved:796[Submit][Status][Discuss]Description
clover_hxy
·
2016-03-09 20:30
启发式搜索
bzoj 1085 骑士精神
1085:[
SCOI2005
]骑士精神TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 1461 Solved: 796[Submit][Status][Discuss
clover_hxy
·
2016-03-09 20:00
【BZOJ1085】【
SCOI2005
】骑士精神(A*暴搜)
题目描述传送门题解启发式搜索,估价函数可以设为当前状态和目标状态有多少个不同。刚开始觉得比较奇怪,因为这里其实是按步数搜索。我的理解是应该是每一次搜索用估价函数计算出下一步哪一个得到正确结果的可能性最大,优先搜索可能性最大的。但是这道题貌似不适用。可能是因为现在对A*的理解还不是很透彻,还需要慢慢消化。明白之后补上。代码#include#include#includeusingnamespaces
Clove_unique
·
2016-03-09 20:02
题解
搜索
省选
【BZOJ1085】【
SCOI2005
】骑士精神(A*暴搜)
题目描述传送门题解启发式搜索,估价函数可以设为当前状态和目标状态有多少个不同。刚开始觉得比较奇怪,因为这里其实是按步数搜索。我的理解是应该是每一次搜索用估价函数计算出下一步哪一个得到正确结果的可能性最大,优先搜索可能性最大的。但是这道题貌似不适用。可能是因为现在对A*的理解还不是很透彻,还需要慢慢消化。明白之后补上。代码#include #include #include usingnamespa
Clove_unique
·
2016-03-09 20:00
搜索
a
bzoj
【BZOJ】1088: [
SCOI2005
]扫雷Mine
1088:[
SCOI2005
]扫雷MineDescription相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。
hxer
·
2016-03-09 17:00
bzoj 1087: [
SCOI2005
]互不侵犯King 状压dp
在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。用f[i,j,k]表示第i行状态为j放了k个国王有多少种方案。先dfs出符合条件的每种方案,然后进行转移。两个状态兼容的条件为i*2、i、i/2andj都=0(i,j是状态)。代码:var n,m,i,j,k,l,a1:longint; ans:in
qq_33229466
·
2016-03-07 19:00
SCOI2005
互不侵犯King 状压Dp
一脸懵逼,爆int,然而在数据范围内的我出的几组测试数据都是负数==好吧不多说,用邻接表优化转移,还有就是比较的时候si不但直接和sj比,还直接和sj/2和sj*2比就行复杂度倒是很正常丝毫不会爆#include #include #include #include #include #include #include #defineLLlonglong #definefo(i,a,b)for(i
BPM136
·
2016-03-06 21:00
【BZOJ1088】[
SCOI2005
]扫雷Mine【枚举】【分类讨论】
发现前两格就可以确定以后的状态了。枚举前两格状态,判断是否可行。/*FootprintsInTheBloodSoakedSnow*/ #include typedefshortintsint; constintmaxn=10005; intn; sinta[maxn],f[maxn]; inlineintiread(){ intf=1,x=0;charch=getchar(); for(;
BraketBN
·
2016-03-04 21:00
枚举
分类讨论
bzoj 1084: [
SCOI2005
]最大子矩阵 dp
Description这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。Input第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的分值的绝对值不超过32767)。Output只有一行为k个子矩阵分值之和最大为多少。我们看到由于m最大只有2,所以就可以用二维来搞定。用
qq_33229466
·
2016-03-03 21:00
bzoj 1088: [
SCOI2005
]扫雷Mine
1#include 2#include 3#include 4usingnamespacestd; 5intf[10009],a[10009],n,ans; 6boolpan() 7{ 8for(inti=2;i
xiyuedong
·
2016-03-02 22:00
bzoj 1087: [
SCOI2005
]互不侵犯King
1#include 2#include 3#defineM600 4intb1[M],b2[M][M],n,m,s,sum[M]; 5longlongf[10][M][M],ans; 6usingnamespacestd; 7intmain() 8{ 9scanf("%d%d",&n,&m); 10s=(1>1))==0) 14{ 15intq=0; 16b1[i]=1;
xiyuedong
·
2016-03-02 22:00
bzoj 1085: [
SCOI2005
]骑士精神
1#include 2#include 3usingnamespacestd; 4intb[5][5]={{1,1,1,1,1}, 5{0,1,1,1,1}, 6{0,0,2,1,1}, 7{0,0,0,0,1}, 8{0,0,0,0,0}}; 9intxx[8]={1,1,-1,-1,2,2,-2,-2},yy[8]={2,-2,2,-2,1,-1,1,-1}; 10inta[
xiyuedong
·
2016-03-02 22:00
bzoj 1084: [
SCOI2005
]最大子矩阵
1#include 2#include 3#defineM102 4usingnamespacestd; 5intf1[M][M],sum[M],sum1[M],n,m,K,f[M][M][12]; 6intmain() 7{ 8scanf("%d%d%d",&n,&m,&K); 9if(m==1) 10{ 11for(inti=1;i<=n;i++) 12{ 13inta
xiyuedong
·
2016-03-02 22:00
bzoj 1088: [
SCOI2005
]扫雷Mine
题目链接1088:[
SCOI2005
]扫雷MineTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 2525 Solved: 1495[Submit][Status
yohaha
·
2016-03-02 10:00
【BZOJ 1084】[
SCOI2005
]最大子矩阵
Description这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。Input第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的分值的绝对值不超过32767)。Output只有一行为k个子矩阵分值之和最大为多少。SampleInput3221-323-23Samp
抬头仰望浮云飘过
·
2016-02-21 07:00
【BZOJ 1085】 [
SCOI2005
]骑士精神
Description在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士,且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘:为了体现出骑士精神,他们必须以最少的步数完成任务。Input第一行有一个正整数T(T 2#include 3u
抬头仰望浮云飘过
·
2016-02-21 06:00
【BZOJ 1087】[
SCOI2005
]互不侵犯King
Description在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。Input只有一行,包含两个数N,K(1 2#include 3#definelllonglong 4usingnamespacestd; 5intgs[520],a[520][11]; 6boolpd[520];
抬头仰望浮云飘过
·
2016-02-20 07:00
bzoj1087【
SCOI2005
】互不侵犯King
1087:[
SCOI2005
]互不侵犯KingTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 2405 Solved: 1413[Submit][Status]
AaronGZK
·
2016-02-19 22:00
dp
bzoj
bzoj1084【
SCOI2005
】最大子矩阵
1084:[
SCOI2005
]最大子矩阵TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 1946 Solved: 970[Submit][Status][Discuss
AaronGZK
·
2016-02-13 19:00
dp
bzoj
bzoj1084: [
SCOI2005
]最大子矩阵-DP
现在已经能自然的想到分类讨论了。注意到m=1或者2,当m=1时,是普通的最大连续字段和,只不过是k个:设f[i][j]表示前i个数中取出j个矩形的最大和转移:选:f[i][j]=max{f[i1][j-1]+s[i]-s[i1-1]}不选:f[i][j]=max(f[i][j],f[i-1][j])复杂度O(n^2*K)当m=2时,设w[i][j][k]表示第一列选到第i个数,第二列选到第j个数时
zz_ylolita
·
2016-02-10 00:00
dp
【BZOJ1082】【codevs2456】栅栏,让人抓狂的优化剪枝
1082:[
SCOI2005
]栅栏TimeLimit:10SecMemoryLimit:162MBSubmit:1341Solved:583[Submit][Status][Discuss]Description
xym_CSDN
·
2016-02-05 01:00
BZOJ 1083: [
SCOI2005
]繁忙的都市 kruskal
1083:[
SCOI2005
]繁忙的都市题目连接:http://www.lydsy.com/JudgeOnline/problem.php?
qscqesze
·
2016-02-03 16:00
BZOJ 1083: [
SCOI2005
]繁忙的都市 kruskal
1083:[
SCOI2005
]繁忙的都市题目连接:http://www.lydsy.com/JudgeOnline/problem.php?
qscqesze
·
2016-02-03 16:00
BZOJ 1084: [
SCOI2005
]最大子矩阵 DP
1084:[
SCOI2005
]最大子矩阵题目连接:http://www.lydsy.com/JudgeOnline/problem.php?
qscqesze
·
2016-02-03 15:00
BZOJ 1084: [
SCOI2005
]最大子矩阵 DP
1084:[
SCOI2005
]最大子矩阵题目连接:http://www.lydsy.com/JudgeOnline/problem.php?
qscqesze
·
2016-02-03 15:00
【BZOJ 1088】 [
SCOI2005
]扫雷Mine
还有比这水的题吗?1A也算涨信心代码#include intf[10000+1][8]; intnum[8]={0,1,1,2,1,2,2,3}; intn,a[10000+1]; intmain() { scanf("%d",&n); for(inti=1;i>1]; printf("%d\n",f[n][0]+f[n][2]+f[n][4]+f[n][6]); return0; }
sxb_201
·
2016-01-12 10:00
互不侵犯(BZOJ1087) 题解
【样例输入】 32【样例输出】 16【解题思路】 本题为
SCOI2005
的题,正解应该是状态压缩动态规划,把所有方案变为二进制存储,1为该位置摆放了国王,0为没有,因为一行最多九个格子,也就是说最多为
PbTfcLx
·
2016-01-10 18:00
bzoj1084[
SCOI2005
]最大子矩阵
fijk表示第一列选了i个第二列选了j个已经搞定了k个子矩阵的情况然后考虑转移,可以不选,从上面转移作为初值,可以选,于是枚举之前的进行转移就行实际上我们看到了m #include #include #include #include #include #defineLLlonglong #definefo(i,a,b)for(inti=a;i=b;i--) usingnamespacestd;
BPM136
·
2015-12-29 21:00
dp
bzoj1088[
SCOI2005
]扫雷Mine
写的真是又臭又长,感觉像是个dp结果只是一个简单的判断,定下来第一个和第二个就能推出来全部/************************************************************** Problem:1088 User:BPM136 Language:C++ Result:Accepted Time:20ms Memory:1428kb *************
BPM136
·
2015-12-27 12:00
dp
模拟
1086: [
SCOI2005
]王室联邦
一开始做的时候脑残了,以为会出现很多无解的情况,于是加了一堆特判,果断WA。后来发现,明明只有n #include #include usingnamespacestd; structEdge{intto,next;}e[2010]; inthead[1005],cnt,k; voidins(intu,intv){ cnt++;e[cnt].to=v;e[cnt].next=head[u];hea
nlj1999
·
2015-12-23 20:00
【codevs2452】【
SCOI2005
】【BZOJ1088】扫雷Mine
扫雷时间限制:1s空间限制:128000KB题目等级:大师Master题解查看运行结果题目描述Description相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。万圣节到了,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字表示和它8连通的格子里面雷的数目。现在棋盘是n×2的,第一列里面某些格子是雷,而第二列
xym_CSDN
·
2015-12-16 20:00
[BZOJ1087] [
SCOI2005
]互不侵犯King
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1087题目大意8不连通的放法题解状压…var sum,x:array[0..200]oflongint; y:array[0..200,0..200]oflongint; dp:array[0..10,0..100,0..100]ofint64; i,j,k,l:longint; n,m,t:l
slongle_amazing
·
2015-12-11 20:00
BZOJ 1087 (状态压缩DP)
1087:[
SCOI2005
]互不侵犯KingTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 2274 Solved: 1333[Submit][Status]
M_AXSSI
·
2015-12-06 08:00
[BZOJ1084] [
SCOI2005
]最大子矩阵
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1084题目大意给定一个矩阵选取其中不相交的t个矩阵使其权值和最大题解m=1或2m=1时dp[i,j]=max{dp[i−1,j],max{dp[k,j−1]+sum[i]−sum[k]}} (0bthenexit(a)elseexit(b); end; begin readln(n,m,t)
slongle_amazing
·
2015-12-03 18:00
BZOJ 1083 [
SCOI2005
]繁忙的都市
这个经典的设问形式你难道没有心动么? 这不是在提示你二分么? 二分边权,然后并查集判定连通性,因为连通了一定会有最小生成树 奥,第一问的答案是n-1应该没问题吧, View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdlib&
·
2015-11-13 15:04
ZOJ
BZOJ 1088 [
SCOI2005
]扫雷Mine
没居前两个格,然后剩下的所有格子情况就确定了~ View Code 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6
·
2015-11-13 15:01
ZOJ
BZOJ 1087 [
SCOI2005
]互不侵犯King
暴力状压dp。。。 好久不写状压dp,先水一个~ View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cstdio> 5 #include <algorithm> 6
·
2015-11-13 15:00
ZOJ
【BZOJ】1084: [
SCOI2005
]最大子矩阵(DP)
http://www.lydsy.com/JudgeOnline/problem.php?id=1084 有一个1A~~~ 本题没看懂,,不会啊囧。。感觉完全设不了状态。。看了题解,囧,m<=2,没看到的。。默哀吧。然后此题就很好设方程了,m=1时是链,单独考虑,m=2时,考虑几种情况: m==1时: 设d[i][j]表示前i个元素j个矩阵的最大值,有 d[i][j]=max(d[
·
2015-11-13 11:57
ZOJ
11月刷题总结
动态规划+递推: 【BZOJ】1072: [SCOI2007]排列perm(状压dp+特殊的技巧) 【BZOJ】1068: [SCOI2007]压缩(dp) 【BZOJ】1088: [
SCOI2005
·
2015-11-13 11:32
总结
【BZOJ】1082: [
SCOI2005
]栅栏(二分+dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1082 题意:n个给出木板,m个给出木板。可以将那m个木板锯成泥想要的长度。问最大能锯成多少个给出的n个木板。(n<=1000, m<=50) #include <cstdio> #include <cstring> #include <cmath&
·
2015-11-13 11:21
DFS
【BZOJ】1088: [
SCOI2005
]扫雷Mine(递推)
http://www.lydsy.com/JudgeOnline/problem.php?id=1088 脑残去想递推去了。。。 对于每一个第二列的格子,考虑多种情况,然后转移。。。。。QAQ 空间可以降到O(1)。。。我就不优化了。。 至于题解说的枚举第一行。。。orz完全想不到。 做法就是:(好麻烦,不说了。。。就是对应三个格子的状态然后转移 #include <cstdi
·
2015-11-13 11:36
ZOJ
上一页
1
2
3
4
5
下一页
按字母分类:
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
其他