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
Vijos
vijos
P1020 切蛋糕
P1020切蛋糕Accepted标签:[显示标签]描述Facer今天买了n块蛋糕,不料被信息组中球球等好吃懒做的家伙发现了,没办法,只好浪费一点来填他们的嘴巴。他答应给每个人留一口,然后量了量每个人口的大小。Facer有把刀,可以切蛋糕,但他不能把两块蛋糕拼起来,但是他又不会给任何人两块蛋糕。现在问你,facer怎样切蛋糕,才能满足最多的人。(facer的刀很强,切的时候不会浪费蛋糕)。格式输入格
祥云木
·
2016-01-17 10:53
搜索
第七讲 有依赖的背包问题
vijos
P1313金明的预算方案
P1313金明的预算方案Accepted描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件附件电脑打印机,扫描仪书柜图书书桌台灯,文具
XerxesSimon
·
2016-01-15 18:00
动态规划
ACM
vijos
依赖背包
第一讲 01背包问题
vijos
P1025小飞侠的游园方案
P1025小飞侠的游园方案Accepted标签:[显示标签]描述经过抽签选择,小智将军第一个进入考场。菜虫:(身上散射出华贵(?)的光芒)欢迎你,第一位挑战者!!小智:……(走到菜虫身后,关灯)女王陛下,虽然我们国家现在很富裕,但也请您不要浪费电来用这么大功率的灯泡。菜虫(汗):啊啊~~爱卿所言甚是~~那么,你的题目是……我们的情报组织探听到敌人的重要将领——小飞侠星期天会邀他的灵儿妹妹到公园去玩
XerxesSimon
·
2016-01-13 20:00
动态规划
ACM
01背包
vijos
【
Vijos
1659】河蟹王国
Description河蟹王国有一位河蟹国王,他的名字叫羊驼。河蟹王国富饶安定,人们和谐相处。有一天,羊驼国王心血来潮,想在一部分人中挑出最和谐的人。于是,羊驼国王将他的子民排成了一列(==!!b汗~好长呀)。每个人都有一个初始的和谐值。羊驼国王每次会选择一个区间[L,R],这个区间中和谐值最大的人就是国王选出的人。而且,在某一时间,区间[L',R']里的人会变得熟悉,因此他们每个人的和谐值都会上
Robot肉包
·
2016-01-13 20:00
VIJOS
1420Valentine’s Seat
题目大意可以给排列成n+1行m+1列矩阵的椅子上色。其中,第一行所有的椅子都已上好粉红色,第一列从第2个开始的椅子都已上好天蓝色。对于其他的椅子,应保证,它的颜色和它左边的或上面的椅子颜色相同。求染色的方案数模19900801的值。分析通过画图或者打表,我们可以发现,最终矩阵肯定被分成2个色块,粉红色块位于矩阵右上方,天蓝色块位于矩阵左下方。每一种染色方案都一一对应于一条从n+1行m+1列的格点地
STcyclone
·
2016-01-11 22:00
组合数学
vijos
集合删数 (
vijos
1545) 题解
【问题描述】 一个集合有如下元素:1是集合元素;若P是集合的元素,则2*P+1,4*P+5也是集合的元素,取出此集合中最小的K个元素,按从小到大的顺序组合成一个多位数,现要求从中删除M个数位上的数字,使得剩下的数字最大,编程输出删除前和删除后的多位数字。注:不存在所有数被删除的情况。【样例输入】 54【样例输出】 137915 95【解题思路】 首先,我们可以将该问题转化为两个子
PbTfcLx
·
2016-01-10 18:00
区间 (
vijos
1439) 题解
【问题描述】现给定n个闭区间[ai,bi],1j)then 20begin 21y:=c[i]; 22c[i]:=c[j]; 23c[j]:=y; 24inc(i); 25j:=j-1; 26end; 27untili>j; 28ifl=d[w].b)then//判断区间是否重合,若重合,更新终点 42d[w].b:=c[i].b 43else 44ifc[i].a>d[w
PbTfcLx
·
2016-01-10 18:00
Vijos
p1770 大内密探 树形DP+计数
4天终于做出来了,没错我就是这么蒟蒻。教训还是很多的。建议大家以后编树形DP不要用记忆化搜索,回溯转移状态个人感觉更有条理性。大神题解传送门 byiwtwiioi我的题解大家可以看注释"//"部分本题我用的树形DP中dp[x][fa][need]表示编号为x的节点的父亲选(1)没选(0),x的父亲需(1)不需要(0)其他节点来覆盖。若父亲节点选了,则need肯定为0,所以不存在fa==1而need
abclzr
·
2016-01-08 22:00
Vijos
p1770 大内密探 树形DP+计数
4天终于做出来了,没错我就是这么蒟蒻。教训还是很多的。建议大家以后编树形DP不要用记忆化搜索,回溯转移状态个人感觉更有条理性。大神题解传送门 byiwtwiioi我的题解大家可以看注释"//"部分本题我用的树形DP中dp[x][fa][need]表示编号为x的节点的父亲选(1)没选(0),x的父亲需(1)不需要(0)其他节点来覆盖。若父亲节点选了,则need肯定为0,所以不存在fa==1而need
abclzr
·
2016-01-08 22:00
Vijos
1512SuperBrother打鼹鼠
背景SuperBrother在机房里闲着没事干(再对比一下他的NOIP,真是讽刺啊……),于是便无聊地开始玩“打鼹鼠”……描述在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来,不过不会从洞口钻进去(鼹鼠真胆大……)。洞口都在一个大小为n(nusingnamespacestd;intn,f[1030][1030]={0},m;intread(){intx=0,f=1;charch=getchar(
DCrusher
·
2016-01-05 15:04
树状数组
【bzoj1398】
Vijos
1382寻找主人 Necklace 最小表示法
这道题只需要把原串复制一遍,然后拿另一个串去匹配就可以了。但是作死学了下最小表示法。http://wenku.baidu.com/link?url=disErIxplfqlFvdZy2Zy3q7FO0hYvLBqy0rFbLe93vJfNSJM5BIh4Mh3eWq0a2NPJo-09kbvFPMgyVJ07BPyNQGiw8QPCWrtPYi-RyrULDK最小表示法是判断两个字符串是否循环同构
u012288458
·
2016-01-03 20:00
vijos
p1523 贪吃的九头龙 思考思考再思考,就荒废了4小时
树形DP要有自己的风格,转二叉树是基础,考虑边界最头疼。1#include 2#include 3#include 4usingnamespacestd; 5intpoint[303],next[603],v[603],c[603],cnt=0,N,M,K,f[303][303][2],d[303],con[303],pre[303]; 6intl[303],r[303]; 7bool
abclzr
·
2016-01-02 22:00
vijos
p1523 贪吃的九头龙 思考思考再思考,就荒废了4小时
树形DP要有自己的风格,转二叉树是基础,考虑边界最头疼。1#include 2#include 3#include 4usingnamespacestd; 5intpoint[303],next[603],v[603],c[603],cnt=0,N,M,K,f[303][303][2],d[303],con[303],pre[303]; 6intl[303],r[303]; 7bool
abclzr
·
2016-01-02 22:00
Vijos
p1518 河流 转二叉树左儿子又兄弟
左儿子又兄弟的转发一定要掌握啊,竞赛必用,主要是降低编程复杂度,省时间。个人觉得状压DP也是为了降低编程复杂度。方程就不说了,程序应该能看得懂,用的记忆化搜索,方便理解。1#include 2#include 3#include 4usingnamespacestd; 5boolp[103]; 6intN,K,point[103],next[203],v[203],c[203],w[10
abclzr
·
2016-01-02 20:00
Vijos
p1518 河流 转二叉树左儿子又兄弟
左儿子又兄弟的转发一定要掌握啊,竞赛必用,主要是降低编程复杂度,省时间。个人觉得状压DP也是为了降低编程复杂度。方程就不说了,程序应该能看得懂,用的记忆化搜索,方便理解。1#include 2#include 3#include 4usingnamespacestd; 5boolp[103]; 6intN,K,point[103],next[203],v[203],c[203],w[10
abclzr
·
2016-01-02 20:00
Vijos
P1476 旅游规划(csapc) 聪哥说我根本不理解树形DP23333333333
我以0为根节点建树,然后做树形dp,first和second就不用说了吧,先两遍dfs找树的直径,在找fir+sec==树的直径(table)的点进行搜索,最后扫一遍所有的点出答案。虽然慢了点,但能A就行。1#include 2#include 3#include 4#include 5usingnamespacestd; 6boolp[200003]; 7intpoint[20000
abclzr
·
2015-12-30 17:00
Vijos
P1476 旅游规划(csapc) 聪哥说我根本不理解树形DP23333333333
我以0为根节点建树,然后做树形dp,first和second就不用说了吧,先两遍dfs找树的直径,在找fir+sec==树的直径(table)的点进行搜索,最后扫一遍所有的点出答案。虽然慢了点,但能A就行。1#include 2#include 3#include 4#include 5usingnamespacestd; 6boolp[200003]; 7intpoint[20000
abclzr
·
2015-12-30 17:00
树链剖分
www.cnblogs.com/kuangbin/archive/2013/08/12/3253734.htmlhttp://www.cnblogs.com/kuangbin/p/3253741.htm
vijos
zz_ylolita
·
2015-12-30 00:00
树链剖分
VIJOS
-P1153 猫狗大战 dp 贪心
我们今天来看一看一道不错的不伦不类的题………..新一年度的猫狗大战通过SC(星际争霸)这款经典的游戏来较量,野猫和飞狗这对冤家为此已经准备好久了,为了使战争更有难度和戏剧性,双方约定只能选择Terran(人族)并且只能造机枪兵。比赛开始了,很快,野猫已经攒足几队机枪兵,试探性的发动进攻;然而,飞狗的机枪兵个数也已经不少了。野猫和飞狗的兵在飞狗的家门口相遇了,于是,便有一场腥风血雨和阵阵惨叫声。由于
qq_32451161
·
2015-12-29 20:00
dp
贪心
vijos
1172反质数
描述对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i)0#include#includeusingnamespacestd;intnum[31]={0,2,3,5,7,11,13,17,19,23,29,31,33};longlong i,j,n,ans,best;voiddfs(longlongx,longlongy,intz){
clover_hxy
·
2015-12-29 19:00
CoVH之柯南开锁
vijos
1204 最大匹配
题目大意:有一个n*m的01矩阵,每一次操作可以使某一行或一列的1全变0,求最少的使所有1变0的操作次数。方法:对于每一个1,我们把它所在行和所在列连一条边,从而构造一个二分图,然后求最大匹配就是答案了。下面附程序:var n,m,i,j,ans:longint; a:array[1..100,1..100]ofboolean; v:array[1..100]ofboolean; link:arr
qq_33229466
·
2015-12-21 21:00
VIJOS
1456最小总代价
题目大意给定一个含有n个点完全连通图,每条边权值 constintoo=0x3fffffff; intn,a[50][50],f[70000][20],t; intmain(){ scanf("%d",&n); for(inti=0;i
STcyclone
·
2015-12-20 20:00
vijos
动态规划-状态压缩
VIJOS
1392拼拼图的小杉
题目大意给定n个数,将这n个数中的一些依次放进m个集合,每个集合中所有数的和不能超过T。集合包含的元素不能交叉,也就是说如果第1个数和第3个数放入了集合1,那么第2个数要么放入集合1,要么不放入任何一个集合。求m个集合中最多能包含多少个数1 constintmaxn=1000; intn,m,T,a[maxn+10]; structnode{ intt,s; booloperatord.t) re
STcyclone
·
2015-12-20 15:00
动态规划
vijos
VIJOS
1413Valentine’s Present
题目描述今天是情人节,小杉已经想好了要给喜欢的人送一份特殊的情人节礼物。礼物是n个颜色各异的箱子,每个箱子里装一个蛋糕,蛋糕是可以上色的。一个可爱的上色方案应该满足如下条件:1.任意一个蛋糕上的颜色应与一个箱子相同(可以是装它的那个箱子的颜色)。2.任意开启一个箱子,按里面蛋糕的颜色打开对应的箱子,这两个箱子(也可以是同一个)里的蛋糕颜色相同。小杉现在想知道总共有多少种可爱的上色方案。输入格式一行
STcyclone
·
2015-12-20 13:00
组合数学
vijos
VIJOS
1683有根树的同构问题
题目描述所谓图的同构是指两个图“相同”。图的同构有着广泛的应用,比如当要对一批图施行某种操作的时候,如果能发现其中有一些图是同构的,就可以在这些同构的图中只保留一个,从而降低工作量。例如,图1所示的T1和T3就是同构的。图片图的同构的定义:给出两个图G1=(V1,E1),G2=(V2,E2)。如果存在一个V1到V2的一一映射f,使得(x,y)是G1的边,当且仅当(f(x),f(y))是G2的边,则
STcyclone
·
2015-12-20 11:00
树
最小表示法
vijos
VIJOS
1592不听话的机器人
题面DD有一个不太听话的机器人,这个机器人总是会有自己的想法,而不会完全遵守DD给它的指令。描述现在DD在试图命令机器人走迷宫。迷宫是一个N*N个格子组成的区域,格子自左上角到右下角从(1,1)到(N,N)编号。第i行、第j列的格子编号为(i,j)。迷宫中的某些区域是障碍物,机器人不能移动到那里。DD给了机器人M条指令,指令的类型包括“前进一步”“后退一步”“左转九十度”“右转九十度”。但问题是机
STcyclone
·
2015-12-19 23:00
动态规划
vijos
VIJOS
1437 简单的口令
直接求原字符串最小表示法就行了关于最小表示法的论文:http://wenku.baidu.com/view/4d9285b2aaea998fcc220edb.html
STcyclone
·
2015-12-13 22:00
字符串
最小表示法
vijos
Vijos
P1001谁拿了最多奖学金
P1001谁拿了最多奖学金Accepted标签:NOIP提高组2005[显示标签]描述某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:1)院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;2)五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生
qq_29600137
·
2015-12-12 12:00
vijos
Vijos
P1034家族【基础并查集】
P1034家族未递交标签:[显示标签]描述若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。格式输入格式第一行:三个整数n,m,p,(n #include #include usingnamespacest
qq_29600137
·
2015-12-04 18:00
并查集
vijos
vijos
--P1211--生日日数(纯模拟)
P1211生日日数未递交标签:[显示标签]描述CCC老师的生日是YY年MM月DD日,他想知道自己出生后第一万天纪念日的日期(出生日算第0天)。格式输入格式从文件的第一行分别读入YY,MM,DD其中1949 #include inta[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; intb[13]={0,31,29,31,30,31,30,31,31,30
qq_29963431
·
2015-11-24 21:00
bzoj 1398 项链 【最小表示法】
因为
vijos
上没有JUDGE_ONLINE这个宏,wa了半天。#include #include #include #in
heheda_is_an_OIer
·
2015-11-20 23:00
字符串
最小表示法
pascal
vijos
P1211-生日日数
题目链接https://
vijos
.org/p/12111211生日日数Accepted标签:[显示标签]描述CCC老师的生日是YY年MM月DD日,他想知道自己出生后第一万天纪念日的日期(出生日算第0天
qq_29600137
·
2015-11-20 20:00
vijos
2014.first[未填]
之后就按照自己的直觉,整理了第一套,难度为简单,差不多比2013noipday1水一点...先练练手而已 T1
vijos
1196吃糖果游戏 博弈论 依题意,我们可知,如果去分数目为
·
2015-11-13 22:07
first
Vijos
1057 盖房子(DP经典题)
之前没有怎么刷过dp的题,所以在此学习了~(感谢walala大神的思路,给了我很大的启发) 也算是自己学习的另一种dp题型吧 先贴上状态转移方程: if(a[i][j]) f[i][j]=min(f[i-1][j],min(f[i][j-1],f[i-1][j-1]))+1 然后更新ans即可 详细的解释一下这个状态转移方程的意义 F[i-1,j] 表示
·
2015-11-13 22:03
OS
Vijos
1055 奶牛浴场(极大化思想求最大子矩形)
思路详见 王知昆《浅谈用极大化思想解决最大子矩形问题》 写得很详细(感谢~....) 因为不太会用递推,所以用了第一种方法,时间复杂度是O(n^2),n为枚举的点数,对付这题绰绰有余 思路也很简单(建议一定看原文) 先根据x排序 之后两重循环,枚举i后的每一个点j到i可以形成的矩形面积 怎么求这个矩形面积呢? 非常简单,miny,maxy,分别表示纵坐标的上下界 如
·
2015-11-13 22:03
OS
VIJOS
1107 求树的最长链
vijos
1107环游大同80天 学习了一下求树的最长链的方法 最简单的思路就是两次dfs 两次dfs分别有什么用呢?
·
2015-11-13 22:02
OS
AHOI1997彩旗飘飘
VIJOS
1097合并果子(noip2007)
AHOI彩旗飘飘 这是一题类似于排列组合的题目吧...递推状态 数组f[100][100][100][2];表示红旗数目,黄旗数目,颜色改变的次数,末尾的旗的颜色(0为黄,1为红) 之后就是如何写递推式了: for(int k=2;k<=m;k++) for(int i=1;i<=n;i++) for(int j=
·
2015-11-13 22:00
2007
vijos
1060 隔板法
排列组合问题 之前没有学过隔板法,随便学习了一下 其实挺好理解的 附上题解: 先只考虑一种球:因为有n个盒子每个盒子可以放任意多球,还可以空出来任意多球。所以可以考虑为n+1个盒子,最后一个盒子里面是题中没放的球。由于盒子可以空出来,所以将隔板与球一起排列 即在隔板和球组成的n+a列中 选出任意a个位置放隔板的话,就可以实现题目要求的效果!(0个或任意多个)。两种球所以C(n+a,a)*C
·
2015-11-13 22:56
OS
vijos
1004 博弈论
一道挺简单的博弈论题 感觉自己也没有很规范的学过博弈论吧,就是偶尔刷到博弈论的题目,感受一下推导的过程,大概能领悟些什么 我们设2001.11.4必败,推上去,即2001.10.4和2001.11.3必胜(此时m+d=偶数)再推上去是11.2,10.3,9.3,都是必败(此时m+d=奇数),以此类推…… 为什么9.30和11.30例外呢? 因为9.30和11
·
2015-11-13 22:55
OS
vijos
1009:扩展欧几里得算法
1009:数论 扩展欧几里得算法 其实自己对扩展欧几里得算法一直很不熟悉...应该是因为之前不太理解的缘故吧 这次再次思考,回看了 某位大神的推导以及 某位大神的模板应该算是有所领悟了 首先根据题意: L1=x+mt; L2=y+nt; 可知当两人相遇: L1-L2=k*l; 即 :(m-n)t-(y-x)=kL 根据整除取余的方法:[ a/b=c...d --> a-d=c*b;
·
2015-11-13 22:54
算法
vijos
1053 用spfa判断是否存在负环
MARK 用spfa判断是否存在负环 判断是否存在负环的方法有很多, 其中用spfa判断的方法是:如果存在一个点入栈两次,那么就存在负环。 细节想想确实是这样,按理来说是不存在入栈两次的如果边权值为正的话 这个算法是O(N*M) 还有一种方法是直接用bellman-ford,虽说spfa也就是bellman-ford+FIFO队列 而且bellman-ford还可以计算
·
2015-11-13 22:53
SPFA
SPFA和FLOYD算法如何打印路径
早晨碰到了一题挺裸的最短路问题需要打印路径:
vijos
1635 1.首先说说spfa的方法: 其实自己之前打的最多的spfa是在网格上的那种,也就是二维的 一维的需要邻接表+queue
·
2015-11-13 22:52
floyd
细节MARK
在刷
vijos
1046的时候遇到了一些细节,MARK一下 1.哲学之前有告诫我说,输出long long的数的时候,最好用cout,不然容易出现编译器的问题,今天算是领教了 2.对于数组赋值问题
·
2015-11-13 22:51
mark
对于
vijos
11.2模拟赛
特意起了个傻逼标题,只是想提醒一下自己以后不要犯逗(所以应该没有什么神犇点进来吧?) T1,T3 当场写的时候就觉得是不可写的,看了题解之后还是觉得不可写,人弱没办法。到了这个时候也懒得管这么难的东西了 MARK一下T2和T4好了 最近很少写字符串,T2应该算是个教训吧; 读换行符的时候 getchar(); 读一整行(带空格)的字符串用 getline(
·
2015-11-13 22:10
OS
Vijos
: P1046观光旅游
背景 湖南师大附中成为百年名校之后,每年要接待大批的游客前来参观。学校认为大力发展旅游业,可以带来一笔可观的收入。 描述 学校里面有N个景点。两个景点之间可能直接有道路相连,用Dist[I,J]表示它的长度;否则它们之间没有直接的道路相连。这里所说的道路是没有规定方向的,也就是说,如果从I到J有直接的道路,那么从J到I也有,并且长度与之相等。学校规定:每个游客的旅游线路只能是
·
2015-11-13 19:10
OS
Vijos
:P1001谁拿了最多奖学金
描述 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得; 3) 成绩优秀奖
·
2015-11-13 19:56
OS
Vijos
1082 丛林探险
题目链接:https://
vijos
.org/p/1082 本题本来是练习SPFA的。我一看DIscuss能用裸搜。果断敲了一个前向星+DFS,居然超时了。
·
2015-11-13 16:51
OS
Vijos
1071 【DP之记录路径】
题意: 给出n张牌的重量和现在剩下的牌的重量。 求缺失了的牌。 如果无解就输出0 多解就输出-1 否则就按照输入的顺序输出排的编号 思路: 01背包.. 状态转移用dp[v] = cnt;表示牌的总和为v的情况是为cnt 记录路径有path[v] = j; 表示是加上了第j个物品才得到体积为v的。 一开始有一个已知的是dp[0] = 1; 状态转移方程为 if
·
2015-11-13 14:03
OS
KMP
VIJOS
前几天又开放了,某牛说得好,“当年的P少年,现在已变成了JAVA大叔”,不过惭愧的是我对JAVA完全不懂。
·
2015-11-13 14:39
KMP
【
vijos
】1746 小D的旅行(dijkstra)
https://
vijos
.org/p/1746 这题就是水题。裸的跑完每个点的最短路后直接可以暴力出解。。 这题贴出来是因为我改了下我的dijkstra的模板。。。
·
2015-11-13 11:40
dijkstra
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他