本书精选Atcoder竞赛中的训练题目,初步探讨了CSP-J组认证中常见的简单算法和计算机数学问题,内容涵盖排序、枚举、模拟、二分、贪心、搜索、数据结构、动态规划、数论、组合数学等多个领域,以及C++中STL的高效使用方法。这些内容是算法竞赛中不可或缺的知识,旨在帮助读者培养计算思维,初步掌握简单算法问题的思维方法和实现技巧。
更多科学出版社服务,请扫码获取。
2004年毕业于华北水利水电学院机械设计专业曾就职于上海微软全球技术支持中心,担任.net虚拟机(CLR)以及Visual Studio Extensibility技术咨询顾问。2008年进入金融IT行业,就职于北京赞同信息技术有限公司,担任高级技术经理,负责基于.net平台的银行业务平台开发。专注于人工智能以及算法技术在金融科技领域的应用。同时担任四川大学ACM/ICPC算法竞赛集训队特邀指导老师,榕阳编程NOI、NOIP指导教练。所带学员多次获得ICPC金/银牌,进入NOI省队等。机械设计《算法竞赛入门经典:习题与解答》京东评论数20000+,《算法竞赛入门经典——训练指南 升级版》京东评论数20000+,《算法竞赛入门经典——算法实现》京东评论数20000+无
目录
第1章排序问题
例题
你知道第二高的山吗?
(ABC201B-Do you know the second highest mountain?)2
最小化排序(ABC242B-Minimize Ordering)4
选举(ABC231B-Election)5
新词典序排序(ABC219C-Neo-lexicographic Ordering)8
习题
朋友和旅行费用(ABC203C-Friends and Travel costs)12
公平的糖果分发(ABC208C-Fair Candy Distribution)13
最终日(ABC228C-Final Day)15
计数不同的整数(ABC240B-Count Distinct Integers)16
需要更优秀的学生 !(ABC260B-Better Students Are Needed!)17
最大偶数(ABC272C-Max Even)19
第(K+1)大的数(ABC273C-(K+1)-th Largest Number)20
循环赛(ABC323B-Round-Robin Tournament)22
世界巡回赛决赛(ABC323C-World Tour Finals)23
第2章算法设计策略
例题
AtCoder 公寓(ABC203B-AtCoder Condominium)28
有多少个?(ABC214B-How many?)29
单调性(ABC224B-Mongeness)31
阶乘硬币(ABC208B-Factorial Yen Coin)33
计数 2(ABC231C-Counting 2)36
第K 个被排除的数(ABC205D-Kth Excluded)38
最长的 X(ABC229D-Longest X)40
矩阵缩减(ABC264C-Matrix Reducing)42
习题
矩形(ABC218D-Rectangles)47
秘密数字(ABC201C-Secret Number)48
打字错误(ABC221B-typo)49
KEYENCE 大楼(ABC227B-KEYENCE building)50
选择乘法(ABC221C-Select Mul)52
奶酪(ABC229C-Cheese)53
导火线(ABC223C-Doukasen)54
锦标赛结果(ABC261B-Tournament Result)56
买一盒牛奶(ABC331B-Buy One Carton of Milk)57
T 恤(ABC332C-T-shirts)58
袜子 2(ABC334C-Socks 2)60
四面体数(ABC335B-Tetrahedral Number)61
移动物品(ABC360C-Move It)63
最小差值(ABC212C-Min Difference)64
购买一个整数(ABC146C-Buy an Integer)66
区间计数查询(ABC248D-Range Count Query)67
通关(ABC258D-Trophy)68
区间并集(ABC256D-Union of Interval)69
三张卡片(ARC146A-Three Cards)71
A?BB(ARC136A-A?BB)72
第3章综合训练
例题
索引×A(连续版)(ABC267C-Index×A(Continuous ver.))76
±1操作 2(ABC255D-±1 Operation 2)78
三角形?(ABC224C-Triangle?)81
划分区间(ABC349D-Divide Interval)84
ABC 猜想(ABC227C-ABC conjecture)87
睡眠日志(ABC305D-Sleep Log)89
习题
循环打击(ABC211B-Cycle Hit)94
重新排列卡片(ABC213C-Reorder Cards)94
碰撞2(ABC243C-Collision 2)96
K交换(ABC254C-K Swap)99
葫芦(ABC263A-Full House)100
大于我的数之和(ABC331C-Sum of Numbers Greater Than Me)101
区间(ABC207C-Many Segments)102
弱密码(ABC212B-Weak Password)104
分配(ABC214C-Distribution)105
瑞士制锦标赛(ABC222C-Swiss-System Tournament)107
优惠券(ABC246C-Coupon)109
最多3个(ABC251B-At Most 3 (Judge ver.))111
机器人小高(ABC257C-Robot Takahashi)112
垂直阅读(ABC360B-Vertical Reading)114
使其变窄(ABC361C-Make Them Narrow)115
分瓶?(ABC267B-Split?)116
瓷砖图案(ABC331D-Tile Pattern)118
另一个求和问题(ABC353D-Another Sigma Problem)121
钢琴2(ABC355B-Piano 2)122
伊吕波和俳句(新 ABC 版)
(ABC265D-Iroha and Haiku (New ABC Edition))123
字符串形成(ABC158D-String Formation)124
技能提升(ABC167C-Skill Up)126
横竖(ABC173C-H and V)128
IPFL(ABC199C-IPFL)130
变为3的倍数(ABC182C-To 3)131
交换帽子(ABC244D-Swap Hats)133
"redocta"交换(i,i+1)(ABC264D-"redocta".swap(i,i+1))134
相等的汉明距离(ARC151A-Equal Hamming Distances)135
桥梁与防水布(ARC134A-Bridge and Sheets)136
最大加法(ARC120A-Max Add)137
第4章数论问题
例题
按位异或(ABC213A-Bitwise Exclusive Or)140
四个点(ABC246A-Four Points)141
向右移动(ABC247A-Move Right)143
十六进制(ABC271A-484558)144
习题
比萨(ABC238B-Pizza)147
长序列(ABC220C-Long Sequence)148
日历验证器(ABC225C-Calendar Validator)149
最后一张卡(ABC227A-Last Card)150
地震震级尺度(ABC221A-Seismic magnitude scales)151
K进制(ABC220B-Base K)152
新年快乐!(ABC234C-Happy New Year!)153
中国餐馆(ABC268C-Chinese Restaurant)154
圣诞树(ABC334B-Christmas Trees)156
末尾零计数(ABC336B-CTZ)157
偶数数字(ABC336C-Even Digits)157
Sigma问题(ABC353C-Sigma Problem)158
掩码位计数(ABC356D-Masked Popcount)159
1-2-4测试(ABC270A-1-2-4 Test)160
破损的四舍五入(ABC273B-Broken Rounding)161
ABC-DEF(ABC275B-ABC-DEF)163
最大公约数和最小公倍数问题(NOIP2001 普及组 T2)164
比例简化(NOIP2014普及组T2)164
优秀的拆分(CSP-J-2020 T1)165
数对乘积之和(ABC177C-Sum of product of pairs)166
零食(ABC148C-Snack)167
奶油泡芙(ABC180C-Cream puff)168
不幸的7(ABC186C-Unlucky 7)169
许多橙子(ABC195B-Many Oranges)170
模数(ABC266B-Modulo Number)171
第5章STL与数据结构
例题
矩阵转置(ABC237B-Matrix Transposition)174
排队2(ABC337C-Lining Up 2)176
合并球(ABC351C-Merge the balls)178
诗歌在线评判(ABC251C-Poem Online Judge)181
新文件夹(1)(ABC261C-NewFolder(1))183
五个整数(ABC268A-Five Integers)186
维护多个序列(ABC271B-Maintain Multiple Sequences)187
最大值-最小值查询(ABC253C-Max-Min Query)190
习题
龙的追踪(ABC335C-Loong Tracking)193
插入(ABC361A-Insert)194
彩色糖果(ABC210C-Colorful Candies)195
计数数组(ABC226B-Counting Arrays)196
第K 次查询(ABC235C-The Kth Time Query)198
漫画(ABC271C-Manga)200
合并史莱姆(ABC323D-Merge Slimes)201
数独(ABC327C-Number Place)203
A+B+C(ABC344C-A+B+C)206
彩色豆子(ABC348C-Colorful Beans)207
矩阵缩减(ABC264C-Matrix Reducing)209
恰好K个(ABC249C-Just K)211
子集掩码(ABC269C-Submask)212
钥匙(ABC356C-Keys)214
面条(ABC241B-Pasta)216
计数区间(ABC233D-Count Interval)217
查询多重集合(ABC212D-Querying Multiset)218
公交换乘(CSP-J-2019 T2)220
LR插入(ABC237D-LR insertion)222
前缀第K大值(ABC234D-Prefix K-th Max)223
最大值对最小值取模(ARC147A-Max Mod Min)224
分数的多样性(ABC343D-Diversity of Scores)225
无法表示(ABC193C-Unexpressed)228
圆柱体(ABC247D-Cylinder)228
奇怪的球(ABC240D-Strange Balls)230
排列子序列(ABC352D-Permutation Subsequence)232
第6章搜索类问题初探
例题
单调递增(ABC263C-Monotonically Increasing)236
乘积(ABC233C-Product)238
又一个递归函数(ABC275D-Yet Another Recursive Function)241
习题
选数(NOIP2002 普及组 T2)244
传球游戏(NOIP2008 普及组 T3)244
分成互质组(OpenJudge 7834)245
网格和磁铁(ABC351D-Grid and Magnet)246
使用六边形网格(ABC269D-Do use hexagon grid)247
第7章图论基础与树
例题
变形虫(ABC274C-Ameba)252
二叉树上的移动(ABC243D-Moves on Binary Tree)254
擦除叶子(ABC333D-Erase Leaves)256
旅行(ABC204C-Tour)260
星形树判定(ABC225B-Star or Not)263
武术家(ABC226C-Martial artist)265
三角形(简单版)(ABC262B-Triangle (Easier))268
习题
图同构(ABC232C-Graph Isomorphism)271
简单路径(ABC270C-Simple path)273
回忆那些日子(ABC317C-Remembering the Days)275
邻接矩阵(ABC343B-Adjacency Matrix)276
每个人都是朋友(ABC272B-Everyone is Friends)278
小高的旅行(ABC213D-Takahashi Tour)279
对称二叉树(NOIP2018 普及组 T4)281
FBI树(NOIP2004 普及组 T3)284
行走的小高(ABC175C-Walking Takahashi)285
旅行(ABC183C-Travel)286
碰撞(ABC209D-Collision)288
新朋友(ABC350D-New Friends)290
第8章组合递推与动态规划
例题
排列检查(ABC205B-Permutation Check)294
可交换(ABC206C-Swappable)296
再来一个aab aba baa(ABC215C-One More aab aba baa)298
宝石变换(ABC260C-Changing Jewels)299
不相等(ABC209C-Not Equal)302
跳跃的小高(ABC240C-Jumping Takahashi)304
索引×A(非连续版)(ABC267D-Index×A(Not Continuous ver.))306
装箱问题(NOIP2001 普及组 T4)308
习题
选择元素(ABC245C-Choose Elements)311
骰子和(ABC248C-Dice Sum)312
不同的字符串(ABC225A-Distinct Strings)313
chokudai(ABC211C-chokudai)313
1111gal 密码(ABC242C-1111gal password)314
最小最大对(ABC262C-Min Max Pair)315
交换拼图(ABC332D-Swapping Puzzle)316
翻转和调整(ABC271D-Flip and Adjust)319
摆花(NOIP2012普及组T3)321
方格取数(CSP-J2020 T4)322
FG操作(ABC220D-FG operation)323
弱小的小高(ABC232D-Weak Takahashi)325
LR约束(ARC124A-LR Constraints)326
等差数列(ARC123A-Arithmetic Sequence)328
删除一个字符(ARC130A-Remove One Character)329