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
紫书
算法竞赛入门经典(第二版)
紫书
-题目集合【例题+习题】
写在前面还是感觉自己以前一直都是野路子,一直没有系统的照着一本书练完过,现在队友都在学校打多校联赛,我还回不去就先照着这个来,试试效果完善一下自己的技能树。也方便给后人铺路PS:合集还在不停更新中题解用外链放出来方便查找,不再写到一个博客里了,上次乙级的70题都在一篇,太难找还不方便。第三章题号题目知识点例1UVa272TexQuotes水题,字符串例2UVa10082WERTYU字符串例3UVa
徐小武
·
2020-08-24 21:58
ACM
UVA1594 Ducci序列
紫书
习题方法:这题比较水,直接模拟就行,我这里采取最蠢开两个数组的方法,交替传值,以避免前一个操作影响到下一个操作。
琉璃糖糖糖
·
2020-08-24 17:57
入门算法excercise
UVA1587 BOX//
紫书
习题j-box
这道题来自UVA,上面是原题大概题意:给出六个面判断这六个面是否能构成长方体输入:每个面的长宽输出:POSSIBLE或IMPOSSIBLE我的基本思路是先排序后根据条件判断。假设三个数a>b>c,如果这三个数能构成一个长方体,那么排序后这三个数所组成的六个面以此应该是:ababacacbcbc这样再根据构成长方体的条件(a,b,c所对应位置值相等)判断即可。以下是我AC的代码(有点长,哈哈哈)#i
玖捌
·
2020-08-24 15:05
c语言
习题5-4 UVA10763 Foreign Exchange(27行AC代码)
紫书
刷题进行中,题解系列【GitHub|CSDN】习题5-4UVA10763ForeignExchange题目大意给定n个学生的出发点A和目的地B,若每个学校的被作为出发点和目的地的次数相同,则项目可以进行
是阿俊呐
·
2020-08-24 15:40
算法竞赛入门经典第二版
10763 - Foreign Exchange
紫书
上习题5-4;这道题用数组正好,一个x对应一个y,然后反过来判断一个y是否对应一个x,如果全部对应,则可以交换,如果有一个不对应,则不能交换;#include#includeusingnamespacestd
你的你的都是你的
·
2020-08-24 15:35
UVA
1594 - Ducci Sequence
紫书
上习题5-2,这道题尽管在第五章,但可以不用STL,用平常方法就行;#include#include#include#includeusingnamespacestd;inta[16];intmain
你的你的都是你的
·
2020-08-24 15:35
UVA
10935 - Throwing cards away I
紫书
上习题5-3;会用vector这题就是大水题(其他方法没试),但我做好之后,格式就一直错,一直找不出,那就先放着吧;我的:#include#includeusingnamespacestd;#includeintmain
你的你的都是你的
·
2020-08-24 15:35
UVA
紫书
第五章习题 5-5 Ducci 序列(Uva 10391)
题目链接:https://vjudge.net/problem/UVA-10391SampleInputaalienbornlesslienneverneverthelessnewnewbornthezebraSampleOutputaliennewborn题意分析:给出字典中一堆单词,单词的输入方式是以字典序输入的。问:在这一堆单词中,有那些单词是通过其它两个单词组合而来的。按字典序升序输出这些
贾半仙儿
·
2020-08-24 15:35
紫书习题
紫书
第五章习题 5-2 Ducci 序列(Uva 1594)
ADuccisequenceisasequenceofn-tuplesofintegers.Givenann-tupleofintegers(a1,a2,···,an),thenextn-tupleinthesequenceisformedbytakingtheabsolutedifferencesofneighboringintegers:(a1,a2,···,an)→(|a1−a2|,|a2−
贾半仙儿
·
2020-08-24 15:35
紫书习题
例题 6-15 UVa10305-Ordering Tasks(拓扑序列)
尝试了邻接表和邻接矩阵+深搜两种写法,后者是
紫书
的方法。
徹夜禁止
·
2020-08-24 15:29
第6章
数据结构基础
紫书
知识点记录(持续更新)
开一篇帖子记录一下看书时觉得重要的知识点吧,想起来的话就加进来,总比没有强…“一等公民”指既可以作为参数传递,又可以从子程序中返回,还可以直接赋给它变量的类型,“二等公民”指尽可以作为参数传递的类型,“三等公民”指三者都做不到的类型。getchar()可用来读取包含空格、换行符的字符串。乘以2也可以写成“中,用来判断对象是否为一个字母。类似的还有isalnum等。algorithm头文件中的sor
徹夜禁止
·
2020-08-24 15:58
小
紫书
习题 3-7(UVA 1368) DNA序列(DNA Consensus String)
水题,就对于所有字符串的同一个位置的字母,进行统计,找出出现次数最多中字典序最小的那个字母,并且记录次数,就可以做啦。AC代码:#include#include#include#include#includeusingnamespacestd;structnum_str{intcnt;charc;}num[4];boolcmp(num_stra,num_strb){if(a.cntb.c)retu
sky-edge
·
2020-08-24 13:21
模拟题
UVA
UVA-1587
紫书
习题3-10盒子
大概题意:给定6个矩形的长和宽Wi和Hi,判断它们能否构成长方体的6个面。题目要求:多组输入SampleInput13452584258468325841345683134568313452584683123445671234456745674321432245674321123443211234SampleOutputPOSSIBLEIMPOSSIBLE本题思路:长方体有三种不同的边,我们记为a
老王777
·
2020-08-24 13:53
基础算法
紫书
——DNA Consensus String UVA - 1368
题解:又是难在读题目的问题,这道题的想法是这样的。有m个字符串,然后输出所有字符串每列字符数最多的,其他不同的要加起来。如果一列中'A'和'T'相同,则输出字典序最小的'A'代码如下:注意字典序#includeusingnamespacestd;#defineinf0x3f3f3f3fintn,m;stringstr[60];mapnum;//保存每列最多的字母voidinit(){//每次的初始
Sky ~ Komori
·
2020-08-24 13:54
紫书
紫书
——Box UVA - 1587
题解:这道题目直接按照面与面之间的关系就可以判断出来了,比如样例一:13452584258468325841345683134568313452584683按照长到短的排序,得到以下样例25841345258413452584683258468313456831345683然后发现前4个长一定要相等,后4个短一定要相等,然后12的短和56的长一定要相等(想一想就证明到出来了)代码就变得很简单了,只
Sky ~ Komori
·
2020-08-24 13:54
紫书
紫书
第3章 数组和字符串
希望本博文方便自己日后复习的同时,也能给他人带来点有益的帮助(建议配合
紫书
——《算法竞赛入门经典(第2版)》阅读本博客)。有不足或错误之处,欢迎读者指出。转载请注明出处:code4101,谢谢。
代号4101
·
2020-08-24 13:59
ACM题目
读书笔记
C/C++
算法经典
UVa1587Box 盒子
紫书
习题3-10 (终于做出来了)
本来题目不难,这题花了近两个半小时。原因总结:1由于基础的不扎实,struct和operator认真回顾了一遍,struct了一个face(面),命名为f[],但是不能直接sort的,所以在struct里又弄了个重载#includeusingnamespacestd;structface{//面intl,w;//booloperatorf[i].w)swap(f[i].l,f[i].w);//ma
源计划猿
·
2020-08-24 12:56
OJ
5-2 UVA 1594 Ducci Sequence (Ducci序列)
题意就不说了,原文和
紫书
都讲的通俗易懂:整体思路:用两个Vector记录数列,第一个记录原始数据,第二个记录计算完成之后的数据,检查是不是都为0,不是0继续循环,直到1000次,保险点可以多加一点!
aozil_yang
·
2020-08-24 12:56
第五章
C++与STL入门
(习题)
UVA 1594 Ducci序列(Ducci Sequence, ACM/ICPC Seoul 2009)
紫书
第五章习题5-2解法:暴力模拟即可。
山上一缕烟
·
2020-08-24 12:05
ACM-ICPC
动态规划之最优配对问题
ps昨晚看了
紫书
上的最优配对问题,对于上面没有对i判断就直接取异或操作百思不得解,本想今天问学长,百度了下,才知道那里是作者写错了,唉,有点唏嘘,学的越多,对待权威越不敢坚信自己了。。。
shiyicode
·
2020-08-23 11:41
动态规划
算法刷题之旅
紫书
第八章-----高效算法设计(贪心法)
下面是刘汝佳《算法竞赛入门经典》(第2版)书上原始内容,讲解非常清晰,直接放在这里:下面这个算法也是贪心策略,具体证明
紫书
讲解比较清楚,不必赘述,具体实现如下:Huffman编码WinetradinginGergoviaUVA
ccnuacmhdu
·
2020-08-23 05:41
紫书算法学习记
uva10048 ( floyd,最大值最小化)
心痛,
紫书
上的这个和ccf一样的,但我没做。。。先去哭一回。。。
zhaiqiming2010
·
2020-08-23 00:46
最短路
紫书
例题 11-2 UVa 1395(最大边减最小边最小的生成树)
思路:枚举所有可能的情况。枚举最小边,然后不断加边,直到联通后,这个时候有一个生成树。这个时候,在目前这个最小边的情况可以不往后枚举了,可以直接更新答案后break。因为题目求最大边减最小边最小,在最小边确定的情况下,要使得差值最小,就要使得最大边最小,那么排序之后加边后的第一个生成树一定是此情况下的最优解,因为这个时候最大边最小,后面的边肯定更大。细节(1)注意题目给的点标号从1开始还是从0开始
weixin_34049948
·
2020-08-22 23:54
紫书
例题 11-5 UVa 10048 (Floyd求最大权值最小的路径)
这道题是Floyd的变形改成d[i][j]=min(d[i][j],max(d[i][k],d[k][j]))就好了。#include#include#defineREP(i,a,b)for(inti=(a);i<(b);i++)usingnamespacestd;constintMAXN=112;intd[MAXN][MAXN],n,m,q;intmain(){intkase=0;while(~
枫城╰(●’◡’●)╮
·
2020-08-22 22:25
紫书第十一章
图论
[floyd]UVa10048
紫书
上的思路应该是错的把min和max搞反了外面的min意思是把记录两条路径最小的最大噪音里面的max记录这一条路径上组大噪音值没加\nWrong了好多次#includeusingnamespacestd
BEconfidence
·
2020-08-22 20:56
UVA
CF3D Least Cost Bracket Sequence(2500的实力贪心...
目前打算就是白天懒得背电脑的话,系统刷一遍蓝书
紫书
白书之类的(一直没系统刷过),回宿舍再上机吧。
ddb21246
·
2020-08-20 23:01
UVA 1025
紫书
练习题 动态规划
关键的部分
紫书
上已经说得很清楚了,剩下的就是确定has_train这个数组,我觉得确定这个数组也不是难事吧。。把数据范围看清楚,然后看看有没有什么写错了的小地方,注意一下就就好。
Good_night_Sion_
·
2020-08-20 22:07
线性DP
算法竞赛入门经典第七章暴力求解法——回溯(2.例题深入)
上一篇文章将“回溯法”中最经典的“八皇后问题”进行了分析,这一篇继续探究回溯法,主要通过
紫书
上的例题进行研究。
Bread Sir
·
2020-08-19 10:29
算法竞赛入门经典(紫书)
紫书
第九章-----动态规划初步(背包问题)
#完全背包问题一个背包总容量为V,现在有N种物品,第i种物品体积为w[i],价值为v[i],每个物品都有无限多件,现在往背包里面装东西,怎么装能使背包的内物品价值最大?【分析】完全背包问题和之前的硬币问题如出一辙,都是DAG上的动态规划问题,只需要对硬币问题的代码稍微修改,即可解决完全背包问题。状态定义:d(i)表示从i状态到小于i的其他所有状态的最长路(价值最大)状态转移:d(i)=min{d(
ccnuacmhdu
·
2020-08-19 09:46
紫书算法学习记
UVA 536 Tree Recovery (二叉树的遍历)
分析没啥好分析,看
紫书
吧。。。每一个前序子树的第一都是根。。。1A还是比较激动的。
隐形的稻草人哦
·
2020-08-19 08:10
水题日记
ACM_模板题
ACM_搜索
POJ 1655 Balancing Act/ POJ 3107 Godfather(树形dp学习篇:树的重心)
紫书
上差不多也是这样介绍的,很好理解的概念,这道题就是求树的重心的裸题,给定一颗无根树,将每一个点都设置为根,跑一下dfs,更新自己最大的子数具有的节点数(假定生成的子树中还包含祖先),在这些最大值
GocNeverGiveUp
·
2020-08-18 16:57
紫书阅读笔记
树形dp
【数论】[luoguP2818]天使的起誓
题目前两天考试的题读入m的时候%n就行了好像是解方程那个题的思想叫什么同余定理搞得一个大整数取模
紫书
p314代码如下#include#include#includeusingnamespacestd;#
weixin_30485799
·
2020-08-18 13:18
Ideal Path UVA - 1599
紫书
的题,书中注明此题非常重要。【思路】:先倒着进行bfs,保存下每个点到终点的最短距离。在正着进行bfs,算出字典序最小的道路。【代码】:#include#include#include#
人无再少年&
·
2020-08-18 09:13
紫书
uva10562
紫书
代码不能过udebug
这题真是让我尝到了wa的绝望。3天前晚上,看这题还蛮简单,2天前中午开始敲代码,写了3hour,一直wa,应该是代码不清晰,冷静一会儿,重写,写完wa,一直改,debug过了,可是依然wa,改到晚上12点,依然wa,wa到绝望,如此废柴怎么入队,555~~1天前上午依然试图改,改了仍然wa,恰巧去写了另外一个题目,很简单的bfs题目也wa了,绝望了,一点也不想碰oj了。1天前下午外面瞎逛了回来,不
是Mally呀!
·
2020-08-18 09:55
ACM解题笔记
Tour UVA - 1347 双调欧几里得旅行商问题(dp)
思路按照
紫书
的算法思路:考虑两个人同时从1点出发,走不同的路,到达n点。
untilyouydc
·
2020-08-18 09:39
动态规划
DAG 矩形覆盖
题面这是
紫书
上的一道例题有n个矩形,每个矩形可以用a,b来描述,表示长和宽。
一qkm一
·
2020-08-18 09:02
动态规划
DAG
UVA - 11212 Editing a Book(IDA* 迭代加深搜索+启发式算法)
思路:刘汝佳
紫书
上的题,设maxd为深度上限,最大为8.当前深度为d,,用h()计算当前后继不正确的数。
一只谜谜怪
·
2020-08-18 09:02
dfs
IDA*
UVa 122 (
紫书
)
#include#include#include#include#includeusingnamespacestd;constintmaxn=500;boolfailed=false;structNode{boolhave_value;intv;Node*left,*right;Node():have_value(false),left(NULL),right(NULL){}};Node*root
会夜明的猪
·
2020-08-18 09:15
紫书
stl
[树状dp] Perfect Service UVA1218
在做本题时,自己的想法与
紫书
上的不谋而合。开始考虑时想直接借鉴最大独立集的状态定义(d(i)表示i子树的答案),但之后发现如果这样定义,那么在转移中就无法确认转移合法(满足题目要求)。通过
loyxCCS
·
2020-08-18 08:53
动态规划
uva210
题目就自己去uva网站找了,其实是个特别好的题,早操作系统的有很好的涉及,就是涉及加锁和解锁其实题目没有任何难度,就是直接进行模拟程序运行就可以,最多也就是队列的运用,不过这里默认使用了STL的双向队列,按照小
紫书
上介绍的方法
liuzheng_yong
·
2020-08-18 08:47
c++的基本
UVa1347/poj2677 - C - Tour(DP)
分析:与货郎担问题很相似,只是这里是先到n号点在返回走完未走的点,很多博主称之为双调欧几里得旅行商问题,
紫书
上面也说这是个经典问题,这题确实值得一做。
HopeForBetter
·
2020-08-18 08:52
动态规划
UVa 11212 编辑书籍 Editing a Book 迭代加深
主要思路来自于
紫书
,利用迭代加深的算法,一层一层往下搜,注意迭代加深的主体是bfs。
GaoJieVery6
·
2020-08-18 08:25
UVa
OJ
UVA1347(Tour)(DAG上的动态规划)
在
紫书
中,作者选择了dp(i,j)来表示第一个人走到了i点,第二个人走到了j点,且编号小于max(i,j)的节点都被走过。因为dp[i][j]和dp[j][i]是重复的,因此规定i>j。
D�j�-vu
·
2020-08-18 08:52
ACM
uva1625 Color Length 线性动态规划
//uva1625ColorLength//这是好久之前在
紫书
(page276)上看到的题目了//题目的意思是,给你两个长度分别为n和m的颜色序列(n,m#include#include#include
TIMELIMITE
·
2020-08-18 08:41
dp
uva 1347
参考
紫书
。假设有两个人,选择不同的点,那么到终点时,他们的路径和,就是答案。因为dp[i][j]=dp[j][i]。所以我们可以只考虑i>j。
DickensTone
·
2020-08-18 07:55
uva
Editing a Book UVA - 11212 IDA*
紫书
的思路主要一个是剪枝一个是复制黏贴操作经典的IDA*题内附注释#includeusingnamespacestd;intn;intmaxd;inta[15];inth(){intcnt=0;for(
哒哒哒哒哒嘭
·
2020-08-18 07:18
ACM
IDA*
Ideal Path UVA - 1599 邻接表 双向BFS
思路:
紫书
上的思路,先从终点反向BFS找出每一个点到终点的最短距离,然后正向BFS一个循环内套两个循环,第一个循环找出最小的颜色,第二个循环把符合条件的点放入类似队列的数组(vector)然后一直搜就能找出来了
哒哒哒哒哒嘭
·
2020-08-18 07:18
ACM
Tour UVA - 1347
紫书
上面已经描述得很清楚了,模拟成两个人同时从起始点出发,然后在终点相遇即可,具体实现见如下代码:#include#include#include#include#include#include#include
AndrewThompson
·
2020-08-18 07:39
Uva
oj
【
紫书
】(UVa1347)Tour
继续考虑dp题目。题意分析其实这里只是更加仔细的做一个lrj的复读机(Orz他分析了一个很重要的结果:如果是一个人从左到右再回来,并且每个点恰经过一次,那么等价于两个人从左到右每个点经过一次地遍历这些点。因为这样,我们才能够得到d[i,j]这样的方法来记录值。但是这样也不够。d[i,j]我们最开始得到的是比较简单的记录状态:A走到i,B走到j得到的最小距离——那我怎么知道A和B会不会重复的走?(i
weixin_30502157
·
2020-08-18 07:25
uva 1347 poj 2267 Tour 最短双调回路
//uva1347Tour最短双调路线//这道题是看着
紫书
上面写着的//dp[i][j]表示1至max(i,j)都已经走过时并且第一个人在i//第二个人在j点时所要走的最短的距离,则dp[i][j]=dp
TIMELIMITE
·
2020-08-18 07:04
dp
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他