编程题目分类
1. 编程入门
2. 数据结构
3. 字符串
4. 排序
5. 图遍历
6. 图算法
7. 搜索:剪枝,启发式搜索
8. 动态规划/递推
9. 分治/递归
10. 贪心
11. 模拟
12. 算术与代数
13. 组合问题
14. 数论
15. 网格,几何,计算几何
【编程入门】
PC 110101, uva 100, The 3n+1 problem, 难度 1
PC 110102, uva 10189, Minesweeper, 难度 1
PC 110103, uva 10137, The Trip, 难度 1
pc 110104, uva 706, LC-Display, 难度 1
pc 110105, uva 10267, Graphical Editor, 难度 1
PC 110106, uva 10033, Interpreter, 难度 2
pc 110107, uva 10196, Check the Check, 难度 1
PC 110108, uva 10142, Australian Voting, 难度 1
sicily 1144 陶陶摘苹果. 简单计数,难度0
sicily 1145 校门外的树. 简单计数,难度0
sicily 1232 Electrical Outlets. 简单计数,难度0
sicily 1388 Quicksum. 简单计数,难度0
sicily 1324 Score. 简单计数,难度0
sicily 1157 The hardest problem. 简单大小比较,难度0
sicily 1147 谁拿了最多奖学金. 结构体、数组、分支,难度1
sicily 1051. Biker's Trip Odomete. 简单计算题
sicily 1795. Table tennis. 几何题.
sicily 1798. Alice and Bob. 策略. 难度1
sicily 1087 Funny game. 简单博弈. 难度1
sicily 1510 Mispelling, 字符串, 难度0
sicily 1500 Prime Gap. 求小于给定整数的最大素数. 难度1.
sicily 1561 PRIME Number. 求第n个素数. 难度1
sicily 1007 To and Fro, 数组与下标(二维数组), 难度1
sicily 1036 Crypto Columns, 二维数组,字符串,排序, 难度1
sicily 1014 Specialized Four-Dig, 进制转换,字符串, stack, 难度 1
sicily 1813 M进制数问题, 难度 1
sicily 1298. 数制转换. 把整数转换成特殊3进制. 难度2.
sicily 1325 Digit Generator. 提取整数各位数字. 难度0
sicily 1154 easy sort. 简单排序. 难度0
sicily 1636. show me the money. 简单计算. 难度0
sicily 1814 日期计算问题. 计算两个日期之间的间隔天数. 难度1.
sicily 1815 计算两点间的距离
sicily 1816 平面几何问题
sicily 1817 校歌手大奖赛
sicily 1818 成绩转换
sicily 1765 笨小猴. 统计字符串中字母出现最大次数和最小次数之差,判定是否为质数。
【数据结构】
/* Data Structure:
Stacks and Queues
Binary Search Tree
Hash Table
Dictionaries (set, map)
Priority Queues
Disjoint Sets
tries
Suffix Trees
B-Trees
Kd-Trees
Skip-Lists
Balanced Trees: AVL Tree, Splay Tree, Red-Black Tree
*/
pc 110201, uva 10038, Jolly Jumper, 难度 1
pc 110202, uva 10315, Poker Hands, 难度 2
pc 110203, uva 10050, Hartals, 难度 2
pc 110204, uva 843, Crypt Kicker, 难度 2
pc 110205, uva 10205, Stack 'em Up, 难度 1
pc 110206, uva 10044, Erdos Numbers, 难度 2
pc 110207, uva 10258, Contest Scoreboard, 难度 1
pc 110208, uva 10149, Yahtzee, 难度 3
sicily 1052. Candy Sharing Game. 环形线性结构.
sicily 1200 Stick. 简单查找配对,或排序或用set,multiset,map,难度1
sicily 1486 统计数字. 用map可轻松解决。难度2.
sicily 1819 Matrix. 二进制矩阵乘法,可用bitset或vector。难度2
sicily 1194 Message Flood. 单词查找。排序后二分查找,或哈希或平衡二叉树或set,或trie 难度2
sicily 1931 卡片游戏. 队列,难度2
sicily 1003. Hit or Miss. 队列,模拟. 难度2.5
sicily 1443 Printer Queue. 队列和优先队列。
sicily 1021 couples. 栈, 难度1
sicily 1934 移动小球. 线性表,难度2
sicily 1509 Rails. 难度2
sicily 1768 双栈排序
sicily 1021 couples. 栈,难度2
sicily 1210 二叉树. 二叉树遍历顺序先后中转换.
sicily 1935 二叉树重建. 给出二叉树的先序遍历序列和中序遍历序列,求它的广度优先遍历序列. 递归建树,BFS. 难度3
sicily 1082 manager. 维护一个能够删除最小元和最大元的数据结构,可以用一个大根堆和一个小根
堆实现. 难度3.
sicily 2543. 完全二叉树。求完全二叉树中两个结点的最近公共祖先。递归。
sicily 1490. Tree Grafting. 树到二叉树的转换,求转换前后树的高度,输入是树的DFS序列。
sicily 1838. Sub Tree. 给出两棵m-ary树,判断一棵是否是另一棵的子树.
sicily 1875. Small tree. 带权树.
sicily 1063. Who's the Boss. 排序,堆栈,隐形树结构
sicily 1042. Squadtrees.
sicily 1088. Cows. 树状数组,将区间[S,E]按S从小到大,S相同时E从大到小排序,把E插入到树状数组,注意区间相同时的处理。
sicily 1375 Balanced Lineup. 哈希
sicily 1149 等价表达式. 判断表达式是否等价(递归求解)
sicily 1156. Binary tree. 给出一棵有向树的边集,对其进行先序遍历
sicily 1310. Right-Heavy Tree. 二叉搜索树,遍历;笛卡尔树相关,复杂度O(N)或O(NlogN)。
sicily 1426 Phone List. 电话号码前缀检索,trie树相关。
sicily 1686. Happy Children's Day. 线段树
sicily 1136 山海经. n长序列里求m次区间询问的最大连续子区间和。线段树/RMQ
sicily 1092 Stars in Your Window 线段树.
【字符串】
/*
String Problems:
String Matching
Approximate String Matching
Text Compression
Cryptography
Longest Common Substring/Subsequence
Shortest Common Superstring
*/
pc 110302, uva 10010, Where's Waldorf, 字符串
pc 110304, uva 850, Crypt Kicker II, 字符串
pc 110306 File Fragmentation, 字符串
pc 110307 Doublets, 字符串
sicily 1753. 解码.
sicily 1129. ISBN号码. 给定规律求ISBN最后一位.
sicily 1133. SPAM. 输出输入字符串里的合法email地址。
sicily 1323. Switch text. 字符串处理。
sicily 1035. DNA matching. 难度2.
sicily 1299. Academy Award. 统计字符串出现次数. 难度2.
sicily 1282. Computer Game. 字符串的子串匹配. 标准KMP. 难度3.
【排序和查找】
/*
Sorting: Insertion Sort, Selection Sort, Heapsort, Mergesort, Quicksort, Counting Sort, Bucket Sort
Searching: Sequence Search, Binary Search
Median and Selection
*/
pc 110401, uva 10041, Vito's Family
pc 110403, uva 10037, Bridge
pc 110405, uva 10026, Shoemaker's Problem
pc 110406, uva 10138, CDVII
pc 110402, uva 120, Stacks of Flapjacks, 堆栈, 排序
pc 110404, uva 10191, Longest Nap
pc 110407, uva 10152, ShellSort, 龟壳排序
pc 110408, uva 10194, Football
sicily 1046 Plane Spotting. 排序. 难度2.
sicily 1097 LED Modding. 排序.
sicily 1134 积木分发. 从小到大排序. 难度1.
sicily 1154. Easy sort. 任意排序算法. 难度1.
sicily 1198 Substring. 字符串,排序. 难度1.
sicily 1252 Defining Moment. 字符串划分前后缀.
sicily 1306. Sorting Algorithm. 基本排序,O(nlogn)排序算法. 难度2.
sicily 1341 明明的随机数. 输入n个数,去重复并排序。难度1.
sicily 1351. Multi-key Sorting. 多键排序. 难度2.
sicily 1438. Shopaholic. 排序,隔三求和. 难度1.
sicily 1482. 奖学金. 多key排序. 难度2.
sicily 1532. Binary Search. 难度4.
sicily 1628. Extended Normal Order Sort. 难度4.
sicily 1641. Binary Searchable. 难度2.
sicily 1775. Simple Sort. 多key排序. 难度3.
sicily 1930. 排序. 直接选择排序. 难度2.
【图遍历】
/* Graph Travasal
Breadth-First Search and Applications: Connected Components, Two-Coloring Graphs,
Depth-First Search and Applications: Finding Circles, Articulation Vertices寻找割点,
Topological Sorting, Strongly Connected Componensts,
*/
pc 110901, uva 10004, Bicoloring, 难度1
pc 110902, uva 10067, Playing with Wheels, 难度2
pc 110903, uva 10099, The Tourist Guide, 难度3
pc 110904, uva 705, Slash Maze, 难度2
pc 110905, uva 10029, Edit Step Ladders, 难度3
pc 110906, uva 10051, Tower of Cubes, 难度3 (USE UVA JUDGE -- NOT PC JUDGE)
pc 110907, uva 10187, From Dusk Till Dawn, 难度3
pc 110908, uva 10276, Hanoi Tower Troubles Again, 难度3
sicily 1936 Knight Moves. 深度优先搜索,回溯
sicily 1940 Ordering Tasks. 拓扑排序. 难度3
sicily 1424 奖金. 拓扑排序
sicily 1030 Task Scheduling. 拓扑排序. 难度4
sicily 1155 Can I Post the letter 判断两点是否可达。(图的遍历)
sicily 1308 Dependencies among Jobs. 给出N个工作,然后给出完成每个工作需要花费的时间,最后给出每个工作的依赖关系,求完成某个工作需要多少时间. 宽度优先搜索BFS. 难度2
sicily 1034 Forest. 森林的定义,求最大宽度与深度. 深度优先搜索
sicily 1068. Euro Efficiency. 给出6种分值的硬币,问如何组合得到100以内的数. 广度优先搜索. 难度2.
sicily 1114 Food Cubes 广度优先遍历给3维空间图染色。(dfs容易栈溢出)
sicily 1187 Laserbox 在N×N的网格上,有M个转换器,当射线遇到转换器时,射线就会向右偏转90度。射线从网格的边缘进入网格,如果最后射线会射出去,则输出它出去时的位置,否则输出“0 0”。dfs遍历。
sicily 1304. Delivering Food. 搜索,需剪枝优化. 难度4
【图算法】
/*Graph Problems
1. Polynomial-Time Problems
Connected Components
Topological Sorting
Minimum Spanning Tree
Shortest Path
Transitive Closure and Reduction
Mathcing
Eulerian Cycle/Chinese Postman
Edge and Vertex Connectivity
Network Flow
2. Hard Problems
Clique
Independent Set
Vertex Cover
Traveling Salesman Problem
Hamitonian Cycle
Graph Partition
Vertex Coloring
Edge Coloring
Graph Isomorphism
Steiner Tree
Feedback Edge/Vertex Set
*/
pc 111001, uva 10034, Freckles, 难度 2
pc 111002, uva 10054, The Necklace, 难度 3, (USE UVA JUDGE -- NOT PC JUDGE)
pc 111006, uva 10199, Tourist Guide, 难度 3
pc 111007, uva 10249, The Grand Dinner, 难度 4, (USE UVA JUDGE -- NOT PC JUDGE)
pc 111003, uva 10278, Fire Station, 难度 2
pc 111004, uva 10039, Railroads, 难度 3
pc 111005, uva 10158, War, 难度 3
pc 111008, uva 10092, The problem with the Problem Setter, 难度 3
sicily 1031. Campus. 单源最短路,dijkstra.难度3。
sicily 1321. Robot. 单源最短路,dijkstra.难度3。
sicily 1090. Highways. 最小生成树。难度2。
sicily 1402. Panic Room. 构图求网络最大流
sicily 1303. Job Assignment. 二分图的最大权匹配
sicily 1684. Christmas. 二分,二分图最大匹配,匈牙利算法
sicily 1192 Guardian of Decency 求最大独立集,比较特殊可以转二分匹配做。
sicily 1211. 商人的宣传. 简单题,有向图矩阵乘法,O(n^3*logL);直接迭代也行,O(n*m*L)。
sicily 1350. Piggy banks. 给出每个点出度为1的有向图,求环的个数. 不断找父结点,如果祖先结点都没标记过则答案加1.
sicily 1423 魔王bug的2色定理 构图求网络的最小割。
sicily 1173 Reliable Nets 无向图求最小的二连通子图。(数据小可以搜索)
sicily 1141 猴子的争斗 完全图最小生成树的方法数,节点全排列: n!*(n^(n-2))
sicily 1196 Conflict 关系闭包的转换
sicily 1170 Countdown 建树,统计
sicily 1132 ROUTES. 用括号序列表示树,求两节点最近公共祖先。
sicily 1326 Apple Tree. 建树,求两结点最近公共祖先。
利用栈:计数器=0,遇到'0',计数器入栈,计数器++;遇到'1',栈顶元素出栈,并且当前栈顶元素为出栈元素父节点,连边.
【搜索:回溯,启发式搜索,剪枝】
pc 110801, uva 861, Bishops
pc 110802, uva 10181, 15-Puzzle Problem (USE UVA JUDGE -- NOT PC JUDGE)
pc 110805, uva 10032, Tug of War
pc 110806 Garden of Eden
pc 110807, uva 704, Colour Hash
sicily 1002. Anti-Prime Sequences. 搜索,回溯。
sicily 1019. Apple tree. DFS或者dp.
sicily 1835 N Queens Problem. 搜索,回溯。
sicily 1444 Prime Path 广度优先搜索
sicily 1428. B Baby Climber(心宝去爬山). 广度优先搜索,BFS
sicily 1048 Inverso. 广度优先搜索BFS,二进制表示状态判重;暴力DFS。难度3
sicily 1317 Sudoku. 数独求解的个数。
sicily 1171 The Game of Efil 2^16 dfs枚举棋盘后检测
sicily 1219 新红黑树. 砍树博弈,min-max搜索或记忆化搜索
sicily 1215 脱离地牢. 有限制的迷宫求两人相遇的最小步骤。(广度优先搜索)
sicily 1180 Pasting Strings 给10个字符串,求一个排列使得某种权和最大,全排列搜索。
sicily 1024 Magic Island. 求树中的最长路. BFS或者DFS. 难度2
sicily 1050 Numbers & Letters 回溯 DFS求5个数可否运算得到目标数, 否则输出可得到的小于目标数的最大数.
sicily 1135 飞越原野 最短时间过地图,广度优先搜索.
sicily 1107 Simple Puzzle 按题意搜索,有可能有前置零,输出排序.
sicily 1150 简单魔板. 广度优先搜索,
sicily 1151 魔板.
sicily 1515 魔板C.
sicily 1152 简单的马周游问题. 回溯,迷宫问题的可行性剪枝.
sicily 1153 马周游问题. 同上,扩展状态节点的时候按目标函数值排序。
sicily 1378 八数码问题. 启发式搜索。
【动态规划】
pc 111101 Is Bigger Smarter? (USE UVA JUDGE -- NOT PC JUDGE)
pc 111103 Weights and Measures
pc 111104 Unidirectional TSP
pc 111106 Ferry Loading (USE UVA JUDGE -- NOT PC JUDGE)
sicily 1782. Knapsack. 01背包.
sicily 1342. 开心的金明. 01背包.
sicily 1146. 采药. 01背包, 类似sicily 1342.
sicily 1077. Case Machine. 可用类似求多重背包算法求解.
sicily 1750. 运动会. 分组背包.
sicily 1346. 金明的预算方案. 有依赖关系的背包.
sicily 1091. Maximum Sum. 最大m段子段和问题.
sicily 1888. Circular Sequence. 求一次最大MAX,判断是否是整个串,如果是就求一次最小MIN,然后MAX-MIN就是最后解,否则MAX就是解.
sicily 1564. HOUSING. 可转换为硬币找零问题.
sicily 1902. Counting Problem. 可看成硬币问题.
sicily 1060. Bridging Signals. 需要用特殊法做.
sicily 1685. Missile. 最长不单调子序列. 数据小,O(n^2).
sicily 1448. Antimonotonicity. 最长不单调子序列(f[0]>f[1]<f[2]>f[3]..)统计极点个数. 数据大,需O(n)算法.
sicily 1345. 能量项链. 类似矩阵链问题, 二维状态存储dp.
sicily 1176 Two Ends. 二人从两头取数,对方贪心取大的,你尽量使得两者的差大. 二维状态dp.
sicily 1563. GECKO. dp.
sicily 1822. Fight Club. dp.
sicily 1326. Apple Tree 树型dp,边dfs边更新最优值。05韩国赛区题,本题即是经典的最近公共祖先(LCA)的简化版。因为给出了访问顺序,而且只需求一次,所以比传统的LCA简单很多。可以使用传统的单个LCA问题的朴素算法来解这道题,简单介绍如下:
要求u和v的LCA,只要从u的父亲开始顺着树往上枚举u的祖先并保存在一个列表L中,然后
再用类似的方法枚举v,当第一次发现某个祖先x在L中时,则输出x。复杂度是o(n)。
由于这题的特殊性,也可以用一种更简单的方法来做。那就是根据DFS的原理,设一个栈,直接从左往右扫一次。这样也是o(n),但写起来更容易一些,不过比较易出错。
另外,这题还要注意的地方就是A=B的时候要特殊处理一下。
sicily 1225. 电子眼. 树+一边的图上求最小边覆盖. 树形dp.
sicily 1898. Tree. 给一棵树,每个结点或为白色,或为黑色,问最少经过多少次结点颜色交换,可以使黑色结点互连. 树形dp.
sicily 2681. Tree. 给一棵树,结点皆为黑色。按某一结点,可将该结点和它的相邻结点变色(黑则变白,白则变黑)。求使所有结点全变色的最少按键次数. 树形dp.
sicily 1404 Hie with the Pie. 状态压缩dp.
sicily 1123. The Longest Walk. 有向图求任意起终点的无重复点的最长路,状态压缩dp.
sicily 1148. 过河. 路径压缩,贪心动态规划.
sicily 1103 The Top-Code. 字符串划分dp,要求字典序输出方案时的状态表示方法.
sicily 1001. Alphacode. dp基本题.
sicily 1010. Zipper. dp.
sicily 1011. Lenny's Lucky Lotto. dp.
sicily 1049. Mondriaan. 2*1跟1*1的砖铺成2*n的走道的方法数%10. DP
sicily 1057. Rhyme Schemes. dp.
sicily 1073. Pearls. dp.
sicily 1081. Game. dp.
sicily 1108. Online Selection. 问答游戏,n层k个回答拿了m分,求最大的回答0的个数.
sicily 1121. Tri Tiling. 2*1的砖铺成3*n的走道的方法数. DP.
sicily 1138. 寻宝之旅. dp.
sicily 1158. Pick numbers. 给出M*N的数字矩阵,起点左上角点(1,1),终点右下角点(M,N),只能向右或下移动,要求找出从起点到终点的一条路径,使得经过的数字之和为尽可能小的正数. DFS. 难度2
sicily 1166. Computer Transformatation. dp.
sicily 1211. 商人的宣传. 图dp. 难度3
sicily 1221. 数字游戏. n个数序列每个数每次会减少b[i], 取出m个数,求最大值.
sicily 1222. 单词选择. 在给定文章里选出连续的一段包含最多的word且长度最短, 这题的hash很恶心.
sicily 1264. Atomic Car Race. dp基本题.
Sicily 1373. Cows Of The Round Table. dp.
sicily 1274. Pascal's Travels. dp.
sicily 1419. On the run. 牛奶快递. dp.
sicily 1687. Permutation. dp.
sicily 1828. Minimal. dp.
【未归类的 动态规划/递推/组合计数】
sicily 1355 The Bus. 二维的最长上升子序列,最长不递减子序列的变种,用STL里的map写巨简单.
sicily 1169 ACM(ACronymMaker) 给一些短语求按题意要求构成指定缩写的方法数.
sicily 1163 Tour. 欧几里德旅行商问题(吴文虎那本书p314)
sicily 1233 Necklace Decomposition 按题意分割字母.
sicily 1197 Hotel 字符串含通用符的匹配,记忆化搜索.
sicily 1120 Walk Through the Forest 简单无向图,求节点1到节点2的按题意走法的方法数.
sicily 1091. Maximum Sum 给出一个数列,求分两个部分和的和最大.
sicily 1098 Marching in the Corp 给出部分偏序关系,求可能的排名方法数.
sicily 1327 Pinary 递推求第k个Pinary数。
sicily 1233 Necklace Decomposition 按题意分割字母.
sicily 1139 电路稳定性 递归处理括号对序列算电路不通概率.
sicily 1033 City Road 求0,0走到n+1,m+1的最短路方法数,中间有一些障碍.
sicily 1413 Whac-a-Mole 打地鼠游戏,求一定时间内能打到最多地鼠的方案。
sicily 1415 Honeycomb Walk 蜜蜂窝走N步回到出发地的方法数。
【分治和递归】
sicily 1017 Rate of Return. 求解方程,二分. 难度2
sicily 1211 商人的宣传 求两点间L步到达的方法数.
sicily 1137 河床. 求一个最长的连续区间满足其中的最小数和最大数之差不大于k。
sicily 1376. Monthly Expense. 给N个数的序列,要求将其分成M段,使每段之和的最大值尽可能小. 二分,贪心. 难度3
sicily 1441 Pie 二分
sicily 1454. Pseudoprime numbers. 数论,二分,递归。难度3
【贪心】
sicily 1739. Helpful Paper. 任务调度问题.
sicily 1717. Computer. 单机任务调度. 贪心+最小堆.
sicily 1198 Substring 8个串排出最小字典序。(用ab<ba做比较函数排序)
sicily 1140 国王的遗产. 砍不大于n/2个节点的最大树枝
sicily 1172 Queens, Knights and Pawns 染色模拟
sicily 1193 Up the Stairs 搬箱子上楼梯.
【算数与代数】
/*
Numerical Problems:
Solving Linear Equations
Bandwidth Reduction
Matrix Multiplication
Determinants and Permantents
Constrained and Unconstrined Optimization
Linear Programing
Random Number Generation
Factoring and Primality Testing
Arbitrary-Precision Arithmetic
Kanpsack Prpblem
Discret Fourier Transform
*/
/*
素数:寻找素数,素数的个数
整除性:最大公约数,最小公倍数
模算术
同余
*/
pc 110502 Reverse and Add
pc 110503 The Archeologists' Dilemma
pc 110504 Ones
pc 110505 A multiplication game
pc 110702 Carmichael Numbers (USE UVA JUDGE -- NOT PC JUDGE)
pc 110704 Factovisors
pc 110707 Marbles
pc 110708 Repackaging
sicily 1040. Polly Nomials. 多项式计算. 难度2
sicily 1813 M进制数问题. 进制转换,难度1
sicily 1201 01000001. 大整数二进制加法
sicily 1159 Sum. 求大正整数之和.
sicily 1029 Rabbit. 递推,大整数求和,难度2
sicily 1020 Big Integer. 大整数数求模,难度2
sicily 1381 a * b. 大整数乘法. 难度2
sicily 1240 Faulty Odometer. 十进制数少了4的计数
sicily 1294. 高级机密. 输入整数a,b,c求(a^b) mod c.
sicily 1422. Table Tennis. 表面是几何题,实质是数论题。问题可转化为求长a和b的最小公倍数
sicily 1363. Semi-prime H-numbers. 定义H-numbers: 1, 5, 9, 13, 17, 21,25,29,…;
H-Prime: 只能表示成1×h的h,如5,9,13,17,21,29,…;
H-Composites:25, 45, 65, 81, 85, …;
H-SimiPrime: 恰好由两个H-Prime相乘得到,如25, 45, 65, 81, 85, 105, 117, …;
125是合数而不是半质数;
给数字N,求1-N之间有多少个半质数. 难度2
【组合问题】
/*
Combinatorial Problems:
Median and Selection
Generating Permutations
Generating Subsets
Generating Partitions
Generating Graphs
Generating Calculations
Job Scheduling
Satisfiability
*/
pc 110603 Counting
pc 110604 Expressions
pc 110606 The Priest Mathematician
pc 110607 Selfdescribing Sequence
sicily 1370. How many 0's?. 依次写出两个整数之间的所有数需要写多少个0.
sicily 1089 Farey Sequence. 计算Farey Sequence元素个数,欧拉函数:设a = (a1^p1)*(a2^p2)...(ak^pk),其中a1,...,ak都是素数,则F(a)=a*(1-1/a1)*(1-1/a2)*...*(1-1/ak). 难度2
sicily 1224 速配游戏 组合数学上经典的稳定婚姻问题。
sicily 1242 Suit Distribution 无聊计数
sicily 1174 Square Count 数方块数,容斥原理。
sicily 1302 Magic Square 奇数阶的魔方构造
sicily 1125 Arnie versus the IRS. 两个日期间0-9数字出现次数统计,周末不计。
sicily 1200 Stick. 奇数根木棍,不同种类的有偶数个,有一种只有奇数个。异或. 难度1
sicily 1200 Stick. 奇数根木棍,不同种类的有偶数个,有一种只有奇数个。异或. 难度1
sicily 1344 数列 某种规则的数列生成
sicily 1203 The Cubic End 给一个1,3,7,9结尾的数求一个数的立方的尾部是原数
sicily 1280 Permutation
sicily 1214 信号分析 数列找规律求an=n的个数. 二进制表示时是回文。出题人梁峰, 很有意思的一题,不是看过他的报告我也想不到。请问你是否有从二进制的方向想过这个数列呢?n=1,2,3,4,5,6,7,8;an=1,1,3,1,5,3,7,1,它们的二进制形式为n=(1)2,(10)2,(11)2,(100)2,(101)2,(110)2,(111)2,(1000)2;an=(1)2,(01)2,(11)2,(11)2,(001)2,(101)2,(011)2,(111)2,(0001)2,找出什么规律了吗?an的二进制串恰好是n的二进制串的反转。其实这个可以用归纳法证明:对于a2n=an,(2n)2=(n)2_0(注意这里设”_”为二进制串连接符号,再设~n为n的二进制串倒转),经函数a反转后等式成立(反转后0在前面实际就没了)。
对于a4n+1 = 2*a2n+1 - an,(4n+1)2=(n)2_01,(2n+1)2=(n)2_1,(a4n+1)2=10_(~n)2,2*a(2n+1)=2*[1_(~n)2]=1_(~n)2_0,an=(~n)2,a4n+1 + an = 10_(~n)2 + (~n)2 = 1_(~n)2_0 =
2*a2n+1。同理a4n+3等式亦相同证明,综上等式对所有n∈N均成立,证毕。知道这个性质,简单了,使得an=n的只有那些二进制形式是回文串的了,枚举二进制的前半部分p,翻转复制到后一半,注意要生成两个n值,一个是p_(~p),一个是p_~(int(p/2)),如果小于等于n,则统计。时间复杂度是O(√n)。
sicily 1009. Mersenne Composite N. 求梅森素数.
【暂时未细分的数学】
sicily 1251 Plinko 弹珠游戏算概率
sicily 1258 It 多项式求导
sicily 1047 Super Snooker 连续的数和可否二分.
sicily 1433 Optimal Parking 直接算
sicily 1259 Sum of Consecutive Prime Numbers 连续素数和
sicily 1239 Smallest Differencev 一些数码,组成差最小的两个数;穷举
sicily 1231 The Embarrassed Cryptographer 两个素数积,枚举因子
sicily 1218 纪念邮票 同1209
sicily 1209 Sequence Sum Possibilities 求m分解成不同的连续整数和的方法数
sicily 1206 Stacking Cylinders 堆圆筒,解方程.
sicily 1199. GCD. 求小于N且与N的GCD大于M的数个数. 质数分解.
sicily 1190 Reduced ID Number 找最小的数使得给出的所有数mod它的结果不同
sicily 1099 Packing Passengers 线性模方程
sicily 1119 Factstone Benchmark 求n!<=2^k的最大n. 两边取对数.
sicily 1412 Tour Guide n个物体向各个方向做匀速运动。
sicily 1305 Who’s Winner 博弈题,找规律。
【模拟/其他】
sicily 1052. Candy Sharing Game. 环形线性结构.
sicily 1122 Prerequisites 模拟统计学生选课。
sicily 1093 Air Express 枚举。
sicily 1237 Paint Mix 黑白染料混合出指定灰度的染料。
sicily 1202 The Bank of Kalii 日期比较
sicily 1177 Take Your Vitamins 按要求做一些基本的数据统计。
sicily 1182 Context-Free Clock 钟表时间和时针分针之间夹角的关系。
sicily 1100 Tennis Anyone 网球排名统计。
sicily 1110 ioi photos 模拟.统计
sicily 1128 DICE 判断骰子是左手型还是右手型,模拟旋转.(逆序可以做)
sicily 1401 Children of the Candy Corn 模拟左手规则走迷宫。
sicily 1205 brainf*ck 模拟解释执行题目中定义的一种编程语言
【几何与计算几何】
/* Computatinal Geometry:
Robust Geometric Primitives
Convex Hull
Triangulation
Voronoi Diagrams
Nearest Neighbor Search
Range Search
Point Location
Intersection Detection
Bin Packing
Medial-Axis Transform
Polygon Partitioning
Simplifying Polygons
Sharpe Similarity
Motion Planning
Maintaining Line Arrangements
Minkowski Sum
*/
pc 111202 The Monocycle
pc 111203 Star
pc 111205 Robbery
pc 111207 Dermuba Triangle
pc 111301 Dog and Gopher
pc 111302 Rope Crisis in Ropeland!
pc 111305 Birthday Cake (USE UVA JUDGE -- NOT PC JUDGE)
pc 111308 How Big Is It?
pc 111401 Herding Frosh
pc 111403 Chainsaw Massacre
pc 111404 Hotter Colder
pc 111408 Nice Milk
sicily 1012 Stacking Cylinders. 平面几何. 难度2
sicily 1175 Swamp Things 平面上N个点,求一条经过最多点的直线。
sicily 1234 Playground 半圆圈能否构成封闭圈。平面图,转为判断多边形能否构成
sicily 1179 Extrusion 多边形求面积. 难度2
sicily 1045 Space Management 求平面上矩形叠加的总面积,矩形切割或者离散化.
sicily 1145 校门外的树 离散化或O(n)的扫描
sicily 1223 防御力场 求一条过目标点的直线,使得直线一边的点最少
sicily 1216 野外行军 光程最短路
sicily 1118 War on Weather 球外一点与球切线直接判断范围。
【未归类】
sicily 1278. Soldiers
sicily 1006. Team Rankings. 枚举生成5个字母ABCDE的全排列.