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
RQNOJ
rqnoj
-202-奥运火炬登珠峰
一个二维背包问题。注意两种物品可以带超过当前值。那么就算出超过的部分的最小值。若当前已经超过,那么最小值不可能出现在超过后在加一个值,所以当数值已经超过的时候,就不需要算超过的部分的超过了。#include #include #include #include #include #defineINF999999999 usingnamespacestd; intdp[101][101]; intm
rowanhaoa
·
2013-10-22 11:00
rqnoj
-201-奥运大包围-下降子序列的个数
定理:下降子序列个数等于最长不下降子序列的长度学习定理很重要啊~~#include #include #include #include usingnamespacestd; intdp[10001]; intnum[10001]; inta[20001]; intnums; intans; voidcha(intx) { if(nums==0||x>=num[nums-1]) { num[num
rowanhaoa
·
2013-10-18 16:00
rqnoj
-165-FBI序列-O(n)算法
O(n)的时间复杂度~~#include #include #include #include #include usingnamespacestd; intdp[1100000]; intmain() { charstr[5001]; intn,i; while(gets(str)!=NULL) { n=strlen(str); for(i=1;i=1;i--) { if(str[i-1]=='
rowanhaoa
·
2013-10-16 16:00
rqnoj
-160-竞赛真理-分组背包问题
简单的分组背包问题~~#include #include #include #include usingnamespacestd; intdp[1100000]; intmain() { intn,t,i,w1,w2,t1,t2; while(~scanf("%d%d",&n,&t)) { while(n--) { scanf("%d%d%d%d",&w1,&t1,&w2,&t2); for(i=
rowanhaoa
·
2013-10-16 16:00
rqnoj
-145-打水漂-最大字段和
求最大字段和,基础算法#include #include #include #include usingnamespacestd; intdp[10001]; intnum[10001]; intmain() { intn,i; while(~scanf("%d",&n)) { for(i=0;imaxx) { maxx=ns; ls=l+1; rs=i+1; } } cout<
rowanhaoa
·
2013-10-16 15:00
rqnoj
-156-吞噬比赛-最长上升子序列O(nlog(n))算法
最长上升子序列的O(nlog(n))算法,简单实用,必备佳品#include #include #include #include usingnamespacestd; intdp[10001]; intnum[10001]; inttops; intdos(intx) { if(tops==0) { tops++; return0; } if(xdp[tops-1]) { tops++; ret
rowanhaoa
·
2013-10-16 14:00
rqnoj
-140-分配时间-分组背包问题
分组背包问题。分组背包问题的算法流程:for每个组for每个状态for组里的每个成员#include #include #include #include usingnamespacestd; inta[1001]; intdp[10001]; intmain() { intt,n,vs,i,j; while(~scanf("%d%d%d",&t,&n,&vs)) { while(n--) {
rowanhaoa
·
2013-10-16 13:00
rqnoj
-123-多人背包-第K最优解(好题)
这道题目是在01背包的基础上求出前K个最优解。dp[i][j]:背包容量为i,第j优解的值。由于任意两个背包不能完全相同,所以只初始化dp[0][1]=0;因为要求必须恰好装满,所以其他的初始化为最小。dp[i][1....k]=max(dp[i][1..k],dp[i-w][1...k]+v);即dp[i][1....k]中的k个元素为dp[i][1..k]中的k个元素+dp[i-w][1...
rowanhaoa
·
2013-10-15 18:00
rqnoj
-117-最佳课题选择-分组背包
简单的分组背包~~注意不要使用pow()函数。#include #include #include #include #include usingnamespacestd; longlongdp[301]; longlongnum[301][41]; intnums; voiddos(intn,intm,inta,intb) { longlongx; longlongi,j; for(i=1;i=
rowanhaoa
·
2013-10-14 20:00
rqnoj
-116-质数取石子-dp
dp[1][i]: DD选择的时候,剩余i石子,DD赢的最小步数。若此时DD是必败态,则为-1;dp[2][i]:MM选择的时候,剩余i石子,MM输的最大步数。若此时DD是必胜态,则为-1; #include #include #include #include #include usingnamespacestd; #definemaxn20050 intprime[maxn]; intispr
rowanhaoa
·
2013-10-14 17:00
rqnoj
-107-Ural的鹰蛋实验-dp
详参:http://wenku.baidu.com/view/7c9de809581b6bd97f19ea72.html采用了耗时最少的解法,时间复杂度O(sqrt(n))dp[i][j]:试验i次,使用j个蛋,最高可测的楼层高度。dp[i][j]=dp[i-1][j-1]+dp[i-1][j]+1;对于dp[i][j]:假如试验第一个蛋的时候蛋碎了,那么就得用剩下的j-1个蛋,试验i-1次,能获
rowanhaoa
·
2013-10-13 15:00
rqnoj
-106-最大加权矩形-dp
和我之前做的那个切西瓜的题目相比就是小巫见大巫了。。运用最长字段和的原理把O(n^4)转化成O(n^3)#include #include #include #include usingnamespacestd; intmaxx; intnum[101]; intmap[101][101]; inttop; voiddos() { intns,i; ns=0; for(i=0;i
rowanhaoa
·
2013-10-12 17:00
rqnoj
-105-核电站问题-dp
原来这个oj叫
rqnoj
不是rnqoj。。。
rowanhaoa
·
2013-10-12 16:00
求n^n和n!的最左边的数字
原文出自:http://hi.baidu.com/matrush/item/aa83b1db96b131ff92a97427[
RQNOJ
499]阶乘最高位求n^n和n!
ljd4305
·
2013-09-14 19:00
rqn 137 找试场(模拟)
题目连接:http://www.
rqnoj
.cn/Problem_137.html解题思路:模拟,水题一道,看代码。
u011328934
·
2013-08-18 16:00
RQNOJ
T480 相连的农场
【分析】:这道题可以用Tarjan求强连通分量来做。首先建个链表:如果对应输入临接矩阵中为1(即i到j有路相连),那么就将i点到j点这一条路用链表形式记录下来,这样能方便的从某一点一直追溯到最远能到达的点。程序中建链表的方式如下:voidadd(intx,inty) { a[++tot].to=y;//以x为出发点,y为到达点的边,在链表中的编号为tot a[tot].next=la
u011400953
·
2013-08-13 08:00
Tarjan求强连通分量的讲解与实现
昨天刚刚看了Byvoid大牛“有向图强连通分量的Tarjan算法”文章,然后参考“【强连通分量】图论复习(一)”文章选了
RQNOJ
480作为我写Tarjan的第一题。
u011400953
·
2013-08-13 08:00
RQNOJ
传纸条
点击打开链接 思路: dp 分析: 1 题目要求找到两条不同的路线使得和最大,那么我们可以换种思路就是看成是都是从(1,1)这个点出发的两条路线并且不相交,最后到达(n , m)这个点的和最大 2 题目说了从左上角往右下角传递的时候只能向下或向右,从右下角往左上角传递的时候只能向左或向上,那么很明显到达终点只要n+m步 3 那么由于是同时出发并且两个路线是不相交,那么在第k步的时候我们就可以知道
从此醉
·
2013-05-25 00:00
OJ
RQNOJ
花店橱窗布置
点击打开链接 思路: 动态规划 分析: 1 题目要求找到最大的美学值,并且要求标识号大的必须在标识号小的右边,那么这就可以知道,如果花朵i在第i行的第j列那么第i+1朵必须在j+1后面 2 很明显的阶段就出来了,我们用dp[i][j]表示第i朵花放在第j列能够得到的最大美学值,那么dp[i][j] = max(dp[i-1][j]) + num[i][j];这里注意每一多花可以放的区间,第i多花
从此醉
·
2013-05-24 00:00
OJ
【ICPC-56】
RQNOJ
字串距离
点击打开链接思路:线性动态规划分析:1题目要求两个字符串的最小距离2假设dp[i][j]表示字符串1前i个字符和字符串2的前j个字符的最小距离,那么我们很容易知道。dp[0][0]=0,因为两个空的字符串的距离为0dp[0][j]=dp[0][j-1]+k,dp[i][0]=dp[i-1][0]+k3那么很明显考虑字符串1第i个字符和字符串2的第j个字符的时候,那么我们可以知道有三种情况,i字符和
陈国林
·
2013-05-22 23:45
3.
ACM-ICPC
RQNOJ
字串距离
点击打开链接 思路: 线性动态规划 分析: 1 题目要求两个字符串的最小距离 2 假设dp[i][j]表示字符串1前i个字符和字符串2的前j个字符的最小距离,那么我们很容易知道。dp[0][0] = 0,因为两个空的字符串的距离为0 dp[0][j] = dp[0][j-1]+k , dp[i][0] = dp[i-1][0]+k 3 那么很明显考虑字符串1第i个字符和字符串2的第j个字符的时候
从此醉
·
2013-05-22 23:00
OJ
RQNOJ
竞赛真理(0/1背包)
点击打开链接 思路: 0/1背包 分析: 1 从题目可以知道本题肯定是0/1背包的变形,我们仔细分析不然发现其实这一题和普通的0/1背包的区别就是状态不同了 2 我们设dp[i][j]表示前i题用了j的时间,那么对于第i题来说就有三种情况,不做也不骗分,不做但是骗分,做 3 那么我们很容易写出状态转移方程 dp[i][j] = max(dp[i-1][j] , dp[i-1][j-t1[i]]+
从此醉
·
2013-05-22 22:00
背包
RQNOJ
合唱队形
点击打开链接 思路: 最长上升子序列 分析: 1 题目要求最少的出队的人数,那么就是要求一个i使得满足的人数最多 2 很明显如果我们单独看i这个人,那么他就是中间点左边满足递增,右边满足递减。 3 很明显的一道最长上升子序列问题,我们通过枚举中间人i,然后去求左右满足的人数,最后求最大的满足人数就可以得到最少的出队人数 代码: #include<cstdio> #include&
从此醉
·
2013-05-21 23:00
OJ
RQNOJ
石子合并
点击打开链接 思路: 区间dp 分析: 1 很多人可能看到这一题首先想到的是贪心,但是很不幸的是这道题的贪心做法是错误的,因此正解是dp 2 不管怎么合并,总之最后总会归结为2堆,如果我们把最后的两堆分开,左边和右边无论怎么合并都必须满足最优合并方案,整个问题才能是最优的 3 题目是一个环,我们可以把环变成链那就是在后面在加上去,那么最后的ans一定是dp[1][n-1],dp[2][n]...
从此醉
·
2013-05-21 22:00
合并
RQNOJ
开心的金明(0/1背包)
点击打开链接 思路:0/1背包 分析: 1 很明显的0/1背包 代码: // 一维 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int N = 30; const i
从此醉
·
2013-05-21 21:00
背包
各大OJ
著名OJ网址中文OJ:任青网络在线测评系统
RQNOJ
:http://www.
rqnoj
.cn/高效信息学评测系统vijos:http://www.vijos.cn(2008.7.12复活)英文OJ:北京大学
PWZER
·
2013-05-21 12:17
ACM_算法题解
rqnoj
- 167 - Show Problem(LIS)
题目链接:http://www.
rqnoj
.cn/Problem_167.html——>>LIS,因为习惯了递增这个方向,于是在输入时从后往前输入,求最长递增子序列。
SCNU_Jiechao
·
2013-05-06 21:00
rqnoj
-74
#include #include #include #include #include usingnamespacestd; stringcard="!A234567890JQK"; voiddfs(intstart,intend,double*a) { inti,j,k,t; doubleb[5]; if(start==end) { if(abs(a[start]-24)>c;//输入的数据可
hong0220
·
2013-04-11 20:00
rqnoj
-73
#include usingnamespacestd; intsum=-1; voiddfs(intcount,intup)//剩余人数,上一层人数 { if(count==0) { sum++; return; } if(up>count) return; for(intk=up+1;k>n; dfs(n,0); cout<
hong0220
·
2013-04-11 16:00
rqnoj
-72
背包变形#include #include usingnamespacestd; intf[1024],a[111];//注意f[1024]的范围尽量大点 intmain() { inti,j,n,sum=0; //fstreamcin("d:\\test.txt"); cin>>n; for(i=0;i>a[i]; sum+=a[i]; } for(i=0;i=a[i];j--) if(f[j]
hong0220
·
2013-04-11 16:00
rqnoj
-3
#include usingnamespacestd; charc[10]; ints,t,w; boolishava() { intj,i=w-1; for(j=t;j>=s;--j) if(c[i]==j-1+'a') i--; else break; if(i>s>>t>>w; cin>>c; intn=5; while(n--) if(!ishava()) break; return0;
hong0220
·
2013-04-11 15:00
rqnoj
-13
#include usingnamespacestd; intv[10001]; intmain() { inti,l,m; cin>>l>>m; for(i=0;i>left>>right; for(intj=left;j<=right;++j) v[j]=1; } intcnt=0; for(i=0;i<=l;++i) if(!v[i]) cnt++; cout<<cnt<<endl; }
hong0220
·
2013-04-11 15:00
rqnoj
-485
#include chara[14]; intmain() { inti,j,k; //freopen("d:\\test.txt","r",stdin); j=1; k=0; for(i=0;i<12;++i) { scanf("%c",&a[i]); if(a[i]!='-') { k+=(a[i]-'0')*j; j++; } } k%=11; scanf("%c",&a[12]); if(
hong0220
·
2013-04-11 15:00
rqnoj
-69
dp(x,y)=dp(x-1,y)+dp(x,y-1)不在马的范围 =0在马的范围#include usingnamespacestd; longlongdp[30][30]; intv[30][30];//数组开的太大会wa intdirect[9][2]={{0,0},{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{-1,-2},{-2,-1}}; intn,
hong0220
·
2013-04-11 14:00
RQNOJ
698(矩形计数-圆内接矩形数)
查看题目ShowProblem题目:矩形计数问题编号:698题目描述给出圆周上的N个点,请你计算出以这些点中的任意四个为四个角,能构成多少个矩形。点的坐标是这样描述的,给定一个数组v[1..N],假设圆心为(0,0),圆的周长C=∑v[1..N],第一个点坐标为(0,C/(2π))。从第一个点开始,顺时针沿圆周走v1个单位长度,此时坐标为第二个点的坐标,再走v2个单位长度,此时为第三个点的坐标,当
nike0good
·
2013-03-17 10:00
明明的预算方案-动态规划
http://www.
rqnoj
.cn/Problem_6.html总结1、这是一个有依赖关系的动态规划,根据动态规划的无后效性,决策特点,采用了A,AB,AC,ABC形式2、++length=length
legan
·
2013-01-28 01:07
算法
RQNOJ
60(zkw线段树-xor区间与区间求和)
查看题目ShowProblem题目:美丽的中国结问题编号:60题目描述题目背景kitty刚刚高三毕业.看到同学们都回家的回家,旅游的旅游,她的心里有些落寞.英俊潇洒风流倜傥迷倒万千KL却仅对kitty感冒的fish看在眼里,急在心里.一天,fish提出和kitty两个人一起外出旅游.kitty犹豫了几天,想好能瞒过家长的理由后(要问是什么……自己猜去),答应了.fish很高兴地带着kitty去登记
nike0good
·
2012-11-19 22:00
RQNOJ
598(用b记录元素是否在队中)
查看题目ShowProblem题目:[NOIP2010]机器翻译问题编号:598题目描述小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然
nike0good
·
2012-11-13 16:00
RQNOJ
601(区间覆盖问题)
查看题目ShowProblem题目:[NOIP2010]引水入城问题编号:601题目描述在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政区划十分特殊,刚好构成一个N行M列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度。为了使居民们都尽可能饮用到清澈的湖水,现在要在某些城市建造水利设施。水利设施有两种,分别为蓄水厂和输水站。蓄水厂的功能是利用水泵
nike0good
·
2012-11-13 15:00
RQNOJ
600(Path集)
查看题目ShowProblem题目:[NOIP2010]关押罪犯问题编号:600题目描述S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c的罪犯被关押在同一监狱,他们俩之间会发生摩
nike0good
·
2012-11-13 10:00
RQNOJ
599(等价替代法)
查看题目ShowProblem题目:[NOIP2010]乌龟棋问题编号:599题目描述小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所有4种类型的卡片,见样例),每种类型的卡片上分别标有1、
nike0good
·
2012-11-13 09:00
OJ(Online Judge)系统及ACM测试题库大全
著名的OJ有
RQNOJ
、URAL等。国内著名的题库有北京大学题库、浙江大学题库等。国外的题库包括乌拉尔大学、瓦拉杜利德大学题库等。简介:OnlineJudge系统(简称OJ)是一个在线的判题系统。
undoner
·
2012-11-05 13:00
算法
ACM
ACM
online
OJ
judge
测试题库
【AHOI2013复仇】SCOI2003 字符串折叠
原题地址本沙茶在2009年1月曾经在
RQNOJ
上捉过这题,那时候是很难的题,现在就很水了囧……(当然,本沙茶那个时候不会exKMP,是用暴力的,可是时间复杂度仍能是O(N3))。
Mato is No.1
·
2012-10-24 15:00
RQNOJ
658(观光公交)
几大注意点:1.一次使用氦气加速器会把后面分成好几段。2.我们仅维护end[i],wait[i]恒定,因此需提前让wait[i]=max(wait[i-1],wait[i]);3.w[i]+w[i+1]+...+w[j],且w恒定,故可预处理sum[i](满足累加性)#include #include #include #include #include #include #include #in
nike0good
·
2012-10-20 08:00
struct
【AHOI2013复仇】从一道题来看DFS及其优化的一般步骤和数组分层问题
RQNOJ
187巧置挡板———————————————————————————————————————————————————【背景(神犇不要囧视,3x)】本沙茶最近开始猛攻搜索、近似、随机等算法,目标是
Mato is No.1
·
2012-09-23 15:00
NOI 06 最大获利
http://www.
rqnoj
.cn/Problem_556.html题目描述新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。
gyarenas
·
2012-08-19 10:00
【DP】最近做的一些DP题
1、
rqnoj
82:又上锁妖塔很简单的DP,以层数和能否用法术做状态来递推,注意最后的答案有可能在n+1层代码:#include #include usingnamespacestd; constintmaxn
njlcazl
·
2012-08-12 11:00
多线程
c
struct
【DP】树形DP题目总结
1、
rqnoj
30:愚蠢的矿工#include #include usingnamespacestd; constintmaxn=1000+
njlcazl
·
2012-08-12 10:00
【
RQNOJ
2】【DP】【01背包】 开心的金明
题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每件物品规定了一个重要度,分为5等:用整数1~5表示,第5等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他
minfrommyfls
·
2012-05-25 21:55
NOIP
【并查集】【
Rqnoj
331】家族
题目描述若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。输入格式第一行:三个整数n,m,p,(n#include#include#include#include#include#include#defin
lcwlh
·
2012-05-13 14:22
上一页
1
2
3
4
5
6
下一页
按字母分类:
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
其他