
ACM算法竞赛之路
分享各大OJ上的算法解题思路和代码
Lawliet_ZMZ
ACMERandNODER
展开
-
HDU 1597(二分法)
find the nth digitTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11272 Accepted Submission(s): 3365Problem Description假设:S原创 2016-06-05 17:09:26 · 1087 阅读 · 0 评论 -
HDU 4430 二分查找
Yukari's BirthdayTime Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5071 Accepted Submission(s): 1199Problem DescriptionToday is原创 2016-08-11 16:12:23 · 423 阅读 · 0 评论 -
POJ 1961 字符串 KMP (i-next[i])
PeriodTime Limit: 3000MS Memory Limit: 30000KTotal Submissions: 16431 Accepted: 7886DescriptionFor each prefix of a given string S with N characters (each character原创 2016-08-05 15:55:05 · 570 阅读 · 0 评论 -
POJ3461 KMP简单变形输出模式串在主串出现的次数
题目链接:http://poj.org/problem?id=3461大概意思就是标题那个意思,给样例数,给模式串,给主串,求模式串在主串出现的次数。数据量大,所以要用到KMP,然后简单变形下#include#include#includeusing namespace std;char T[1000005],P[10005];int next[10010],tn,pn,Ca原创 2016-10-22 14:44:50 · 728 阅读 · 0 评论 -
HDU 1003 最大子序列和
#include using namespace std; int main() { int j,i,k,n,m,t; int a[100002]; scanf("%d",&t); for (j=1;j { scanf("%d",&n); for (i=0;i原创 2016-05-14 15:49:53 · 605 阅读 · 0 评论 -
NYOJ The Triangle
The Triangle 时间限制:1000 ms | 内存限制:65535 KB原创 2016-05-21 17:58:51 · 447 阅读 · 0 评论 -
NYOJ 聪明的kk
聪明的kk时间限制:1000 ms | 内存限制:65535 KB难度:3描述 聪明的“KK”非洲某国展馆的设计灵感源于富有传奇色彩的沙漠中陡然起伏的沙丘,体现出本国不断变换和绚丽多彩的自然风光与城市风貌。展馆由五部分组成,馆内影院播放名为《一眨眼的瞬间》的宽银幕短片,反映了建国以来人民生活水平和城市居住环境的惊人巨变。可移动“沙丘”变戏法 的灵感源于其独特而雄伟的原创 2016-05-23 20:06:10 · 585 阅读 · 0 评论 -
HDU Common Subsequence(最长公共子序列)
Common SubsequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 32838 Accepted Submission(s): 14875Problem DescriptionA subse原创 2016-05-24 19:26:44 · 633 阅读 · 0 评论 -
HDU 1257 最少拦截系统(最长上升子序列)
最少拦截系统Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 32503 Accepted Submission(s): 12778Problem Description某国为了防御敌国的导弹袭击,发展出一种原创 2016-05-25 20:36:42 · 568 阅读 · 0 评论 -
HDU max sum(最大子序列之和)
一开始直接把case++写在输出位置,结果PE,有时候这种又可以,可能是数据结构的问题,以后了解到相关补上原因#include using namespace std;int main(){ int i,t,a,T,sum,fst,last,tmp,maxsum,casen=0; cin>>T; while(T--){ casen++;原创 2016-06-02 20:11:21 · 842 阅读 · 0 评论 -
hiho #1038 : 01背包
时间限制:20000ms单点时限:1000ms内存限制:256MB描述且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时刻了!小Ho现在手上有M张奖券,而奖品区有N件奖品,分别标号为1到N,其中第i件奖品需要need(i)张奖券进行兑换,同时也只能兑换一次,为了使得辛苦得到的奖券不白白浪费,小Ho给每件奖原创 2017-03-08 01:05:13 · 363 阅读 · 0 评论 -
博弈论总结
以下是网上收集的关于组合博弈的资料汇总:有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至转载 2017-04-16 17:01:06 · 575 阅读 · 0 评论 -
POJ 1082 博弈推规律
Calendar GameTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 5840 Accepted: 2810DescriptionAdam and Eve enter this year's ACM International Collegiate原创 2017-04-17 20:20:32 · 406 阅读 · 0 评论 -
Codeforces Round #395 Div1的A题Timofey and a tree
A. Timofey and a treetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputEach New Year Timofey and his friends原创 2017-02-15 01:14:14 · 382 阅读 · 0 评论 -
POJ 1274 二分图最大匹配简单单向
The Perfect StallTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 23153 Accepted: 10312DescriptionFarmer John completed his new barn just last week, complete with al原创 2016-08-15 16:18:57 · 670 阅读 · 0 评论 -
POJ 2239 化二分图右集合二维为一位的最大匹配
Selecting CoursesTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 10183 Accepted: 4594DescriptionIt is well known that it is not easy to select courses in原创 2016-08-15 21:02:31 · 459 阅读 · 0 评论 -
POJ 2584
T-Shirt GumboTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3161 Accepted: 1478DescriptionBoudreaux and Thibodeaux are student volunteers for this year's原创 2016-08-19 16:48:25 · 404 阅读 · 0 评论 -
POJ 3253 优先队列实现哈弗曼树
Fence RepairTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 40009 Accepted: 13044DescriptionFarmer John wants to repair a small length of原创 2016-08-08 15:26:15 · 543 阅读 · 0 评论 -
POJ 1209 模拟进栈和出栈
RailsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 31441 Accepted: 12222DescriptionThere is a famous railway station in PopPush City. Country there is incredibly原创 2016-07-27 16:10:19 · 481 阅读 · 0 评论 -
uva 122 小球下落 树的模拟
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=8&problem=620&mosmsg=Submission+received+with+ID+17752885超时:#include #include #include using n原创 2016-07-29 18:45:03 · 531 阅读 · 0 评论 -
超有爱的并查集
例子就是杭电上的畅通工程:http://acm.hdu.edu.cn/showproblem.php?pid=1232首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。像畅通工程这题,问还需要修几条路,转载 2016-08-05 16:23:52 · 598 阅读 · 0 评论 -
POJ 1988 并查集 妙用deep数组
Cube StackingTime Limit: 2000MS Memory Limit: 30000KTotal Submissions: 23635 Accepted: 8281Case Time Limit: 1000MSDescriptionFarmer John and Betsy are playing原创 2016-08-05 20:45:48 · 1158 阅读 · 0 评论 -
HDU 1166 线段树基础题 基本模型
敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 76917 Accepted Submission(s): 32406Problem DescriptionC国的死对头A国这段时间正在进行军事演习,原创 2016-08-09 11:00:08 · 745 阅读 · 0 评论 -
POJ 1611 记录节点数的并查集
The SuspectsTime Limit: 1000MS Memory Limit: 20000KTotal Submissions: 33882 Accepted: 16428DescriptionSevere acute respiratory syndrome (SARS), an atypical pneumonia of unkno原创 2016-08-11 18:13:13 · 573 阅读 · 0 评论 -
HDU 4424 并查集+贪心思想
Conquer a New RegionTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1939 Accepted Submission(s): 673Problem DescriptionThe whee原创 2016-08-12 10:40:37 · 474 阅读 · 2 评论 -
对链表的操作(数据结构线性表算法设计练习)
/*1.有一个单链表(不同结点的数据域值可能相同),其头指针为head,编写一个函数计算数据域为x的结点个数*/#include #include using namespace std;struct node{ int data; struct node *next; };struct node *head; /*计算数据域为x的结点个数*/int List_cou原创 2016-10-05 18:06:45 · 1734 阅读 · 0 评论 -
LPT算法--时间调度问题
待续=-=原创 2016-12-10 17:10:03 · 4682 阅读 · 0 评论 -
L2-007 并查集处理&精度问题
L2-007. 家庭房产时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。输入格式:输入第一行原创 2017-03-20 23:01:01 · 992 阅读 · 0 评论 -
L2-010. 排座位
L2-010. 排座位时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,原创 2017-03-23 12:12:38 · 550 阅读 · 0 评论 -
Oulipo 哈希代替KMP再做字符串处理
OulipoTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 39845 Accepted: 16034DescriptionThe French author Georges Perec (1936–1982) once wrote a book, L原创 2017-04-18 22:34:39 · 1137 阅读 · 0 评论 -
POJ 3349 哈希一维搜索降二维
Snowflake Snow SnowflakesTime Limit: 4000MS Memory Limit: 65536KTotal Submissions: 41141 Accepted: 10817DescriptionYou may have heard that no two snowflakes are原创 2017-04-19 22:23:33 · 396 阅读 · 0 评论 -
ACM ArabellaCPC 2015F题 并查集
传送门:https://odzkskevi.qnssl.com/1110bec98ca57b5ce6aec79b210d2849?v=1492616502 题意:先给一个样例数,每个样例n,m分别表示字符串的长度和要给出的关系数给出的关系,两个位置上的字符(从1开始的下标)必须相等。最后这个字符串还是一个回文串 ,原创 2017-04-22 20:42:43 · 334 阅读 · 0 评论 -
POJ 1094差分约束系统拓扑排序
Sorting It All OutTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 32933 Accepted: 11445DescriptionAn ascending sorted sequence of distinct values is one i原创 2016-08-07 15:30:40 · 1177 阅读 · 0 评论 -
解救人质 BFS模板(迷宫问题)
和上个DFS的问题一样,这次用BFS的思想,BFS没有像DFS那样专门有个step累加,是靠队列思想实现,更像一群路径竞速,最快的到达后,就break输出了#include struct node{ int x; int y; int f;//父亲在队列中的编号,本题不要求输出路径,可以不需要f int s;//步数};int main(){原创 2016-07-30 09:45:32 · 999 阅读 · 0 评论 -
POJ 3984 迷宫问题 BFS+记录路径
迷宫问题Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 15775 Accepted: 9389Description定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0,原创 2016-07-30 16:33:38 · 484 阅读 · 0 评论 -
POJ 3278 抓牛简单广搜
Catch That CowTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 75331 Accepted: 23781DescriptionFarmer John has been informed of the location of a fugitiv原创 2016-08-01 17:00:56 · 480 阅读 · 0 评论 -
HDU 1242 特殊化带结构体BFS
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1242 一般的bfs只能求出的最解,优解通常是步数最少的,但在此题中不一定是时间最少的解,如下图,步数依次是8,8,8,12,时间是13,13,14,12,反而第四种是要求解,一看此题就是用bfs求解,这里可以用结构体定义一个time域,定义一个int mintime[MAX][MAX],在搜寻四个方原创 2016-11-14 20:52:49 · 379 阅读 · 0 评论 -
L2-006. 树的遍历
L2-006. 树的遍历时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第原创 2017-03-24 00:22:46 · 484 阅读 · 0 评论 -
啊哈算法_全排列
#include #include using namespace std;int a[10],book[10],n;void dfs(int step) //step表示站在第几个盒子面前{ int i; if(step==n+1) { for(i=1;i<=n;i++) cout<<a[i]; cout原创 2016-07-29 16:01:59 · 1671 阅读 · 0 评论 -
解救人质 DFS简单模板
解救人质,给一张二维地图,有障碍的点不能移动,给定起始点和人质坐标,求到达人质路程的最短路程,DFS模型#include #include using namespace std;int n,m,p,q,Min=99999999;int a[51][51],book[51][51];void dfs(int x,int y,int step){ int next[4][2]原创 2016-07-29 20:52:37 · 838 阅读 · 0 评论