
ACM/ICPC_HDOJ
just_sort
Acdream.
展开
-
Hdoj 3047 Zjnu Stadium
题目传送门//求解本题需要弄清楚冲突发生的条件,很容易看出此题为种类并查集的变种,题上提到了距离,自然想到是带权值的并查集,关键是这个权值怎么办。//菜鸟参考网上各位大牛的解法终于懂了这道题的前因后果。有必要将解题过程中的心得体会记录下来。//(1)弄清题意,找出出现冲突的位置,判断冲突很简单就是当两个人在同一行坐,同时他们到根节点的距离差值正好是他们之间的差值,此时就出现了冲突了。(本质就是两原创 2016-01-15 20:24:00 · 868 阅读 · 0 评论 -
Hdoj 2635 Dragon Balls
题目传送门//种类并查集,设置一个time数组表示次数//AC代码如下://Created Author: just_sort//Created Time : 1015/1/15 15:51//File Name : Dragon Balls#include<cstdio>#include<cstring>#include<iostream>using namespace st原创 2016-01-15 16:10:42 · 541 阅读 · 0 评论 -
Hdoj 3486 Interviewer(二分加RMQ)
题目传送门//解题思路:利用st算法预处理出区间最值,然后二分当前的组数,因为组数越多选的人越多,得到的能力值也就越高,因为每个区间变大,很可能覆盖掉之前的最大值,很可能扩大的区间覆盖掉了之前的最大值,导致最后结果变小,符合单调性,那么可以二分//AC代码#include <cstdio>#include <algorithm>#include <iostream>using namespac原创 2016-01-13 23:10:17 · 462 阅读 · 0 评论 -
Hdoj 4786 Fibonacci Tree
题目传送门题意:给你一个图,图中边颜色为白色(1表示)或者黑色(0表示),问你是否能找出一棵树,使这棵树中白边的总数量的值为Fib数。点数n和变数m均为不大于1e5的数。分析:这是最小生成树的变形题,用Kruskal求解,我们可以通过求两次最小生成树得到白边数量的上下限,再判断这个区间内有没有fib数即可,第一次我们以黑边为主排序求最小生成树,得到白边数量下限,再以白边原创 2015-11-24 14:42:34 · 584 阅读 · 0 评论 -
Hdoj 3666 HE MATRIX PROBLEM
题目传送门题意:给你一个n*m的矩阵,和一个区间上下界L,U,问你是否能找出n个数a1,a2,a3,......,an和m个数b1,b2,b3,......,bm,使得矩阵中的第i行的数乘以ai得到的值范围在[L,U]内,而且矩阵中第j列的数除以bj得到的值范围也在[L,U]内,能找到你就输出YES,否则NO。输入第一行为n,m,L,U接下来一个n*m的矩阵Ai原创 2015-11-24 14:38:22 · 553 阅读 · 0 评论 -
Hdoj 1384 Intervals
题目传送门题意:给你n个区间每个区间的范围为[l,r],让你确定num个整数,使这num个整数在第i个区间[li,ri]至少有Ci个共同的数。题目先给你一个数n,接下来n行告诉你三个数li,ri,Ci,输出num的最小值。n分析:由于区间最大才到50000,在0到50000这些数中,我们用0表示不选这个数,1表示选择这个数,那么就可以用sum[i]表示在0~i之间有多少个1原创 2015-11-24 14:31:58 · 686 阅读 · 0 评论 -
Hdoj find the mincost route
题目传送门典型的Floyd+最小环的应用,动态规划求解,不懂这个算法请戳Floyd+最小环以下为ac代码#include#include#includeusing namespace std;#define inf 1<<28int n,m,minn;int maze[110][110];int dis[110][110];void Floyd(){ for(int k原创 2015-11-24 14:23:08 · 383 阅读 · 0 评论 -
Hdoj 1317 XYZZY
题目传送门 建图后,本题考察1到n这两个点是否联通,以及求最长路判断正环,floyd()判断连通性,spfa判断是否有正环即可。 Talk is cheap.Show coder.#include<cstdio>#include<cstring>#include<cctype>#include<queue>#include<algorithm>#include<iostream>原创 2015-11-08 19:29:42 · 886 阅读 · 0 评论 -
zoj Burn the Linked Camp(差分约束)
题目传送门这题要先知道差分约束的基本概念,详见博客内容在这里~题目就是给出了士兵的营帐分别能住人的最大值,和在哪些营帐区间之内,能拥有的士兵最大量,容易看出这是差分约束的典型模型,建图的时候要注意差分约束的建图方法,如果要求最大值想办法把每个不等式变为标准x-y<=k的形式,然后建立一条从y到x权值为k的边,这里表现为i点和i-1建立的负边。ac代码如下 #include<cstdio>#inc原创 2015-11-04 19:12:00 · 551 阅读 · 0 评论 -
Hdoj 1026 Ignatius and the Princess I
题目传送门///bfs跑路,dfs记录路径#include<cstdio>#include<cstring>#include<queue>#include<algorithm>#include<iostream>using namespace std;char maze[105][105];int maze1[105][105],maze2[105][105];bool vis[10原创 2015-10-22 13:13:39 · 547 阅读 · 0 评论 -
Hdoj 1035 Robot Motion
题目传送门//简单dfs加步数记录#include<cstdio>#include<cstring>#include<iostream>using namespace std;char Map[12][12];int vis[12][12];int ro,co,lo;int cnt;void dfs(int a,int b,int step);int main(){ whi原创 2015-10-22 13:00:39 · 554 阅读 · 0 评论 -
Hdoj 3926 Hand in Hand
题目传送门///题意:判断两个图是否同构///@author just_sort///2015/10/15 18:19///Hand in Hand.#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;struct node{ int num,circle原创 2015-10-15 18:21:20 · 515 阅读 · 0 评论 -
Monkey and Banana Hdoj
DescriptionA group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provide the monkey with some blocks.原创 2015-09-10 19:02:45 · 930 阅读 · 0 评论 -
Hdoj 1258 Sum it up
题目请点击这里 题意:给定一个数sum,和n个数,问sum可以由这里面哪些数来表示?(等式不能重复,典型dfs) ac代码如下: (开始把sums写成sum,wa了4发,太粗心了我)#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<iostream>usi原创 2015-08-16 18:21:48 · 747 阅读 · 0 评论 -
Hdoj 1573 A/B
Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。Input 数据的第一行是一个T,表示有T组数据。 每组数据有两个数n(0 <= n < 9973)和B(1 <= B <= 10^9)。Output 对应每组数据输出(A/B)%9973。Sample In原创 2015-08-15 14:47:08 · 871 阅读 · 0 评论 -
周赛 Hdoj 5146
Description Today we have a number sequence A includes n elements. Nero thinks a number sequence A is good only if the sum of its elements with odd index equals to the sum of its elements with even i原创 2015-08-12 19:34:23 · 660 阅读 · 0 评论 -
周赛 IQ test
Description Bob is preparing to pass IQ test. The most frequent task in this test is to find out which one of the given n numbers differs from the others. Bob observed that one number usually differs原创 2015-08-12 19:27:54 · 1594 阅读 · 0 评论 -
Hdoj 2527 Safe or Unsafe
Problem Description Javac++ 一天在看计算机的书籍的时候,看到了一个有趣的东西!每一串字符都可以被编码成一些数字来储存信息,但是不同的编码方式得到的储存空间是不一样的!并且当储存空间大于一定的值的时候是不安全的!所以Javac++ 就想是否有一种方式是可以得到字符编码最小的空间值!显然这是可以的,因为书上有这一块内容--哈夫曼编码(Huffman Coding);一原创 2015-08-08 18:40:47 · 575 阅读 · 0 评论 -
HDU1875-畅通工程再续-最小生成树
Description相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不能大于1000米。当然,为了节省资金,原创 2015-08-08 10:42:50 · 420 阅读 · 0 评论 -
Hdoj 2795 Billboard
Description在学校的入口处有一个巨大的矩形广告牌,高为h,宽为w。所有种类的广告都可以贴,比如ACM的广告啊,还有餐厅新出了哪些好吃的,等等。。 在9月1号这天,广告牌是空的,之后广告会被一条一条的依次贴上去。 每张广告都是高度为1宽度为wi的细长的矩形纸条。 贴广告的人总是会优先选择最上面的位置来帖,而且在所有最上面的可能位置中,他会选择最左面的位置,而且不能把已经贴好的广告盖住。 如果原创 2015-08-06 18:43:33 · 698 阅读 · 0 评论 -
Hdoj 3790 最短路径问题
Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。Input 输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点。n和m为0时输入结束。 (1#incl原创 2015-08-06 18:32:30 · 458 阅读 · 0 评论 -
HDOJ 1394 Minimum Inversion Number
DescriptionThe inversion number of a given number sequence a1, a2, …, an is the number of pairs (ai, aj) that satisfy i < j and ai > aj. For a given sequence of numbers a1, a2, …, an, if we move the fi原创 2015-08-06 16:42:04 · 595 阅读 · 0 评论 -
HDU 2072 单词数
Descriptionlily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。 Input有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。 Output每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。 Sample原创 2015-08-06 16:30:55 · 842 阅读 · 0 评论 -
Hdoj 4107
题目在此 【题意】 n个数,初始都是0,m次更新操作: 若元素a[i] 最后输出所有的数字 【解题方法】线段树简单区间更新 不过这道题的评测系统貌似坏了吧,代码都是tle。 #include #include #include #include using namespace原创 2016-03-01 14:59:48 · 485 阅读 · 0 评论 -
Hdu 1540
【题意】给定两个整数N,M, 其中N表示一共有N个村庄,M代表有M次操作,操作有以下: 1.D x 销毁村庄x 2.Q x 询问与村庄x相邻的村庄总数 3.R 最近一次销毁的村庄得到重建【解题思路】一看这个修改和查询就想到了线段树,然后这个题和以前做过的poj 的 Hotel很像都是区间合并,那个题由于是区间修改还比这个题难一点,这一次完全靠自原创 2016-03-03 14:51:22 · 811 阅读 · 0 评论 -
HDU 5667 Sequence
Problem Description Holion August will eat every thing he has found. Now there are many foods,but he does not want to eat all of them at once,so he find a sequence.fn=⎧⎩⎨⎪⎪1,ab,a原创 2016-04-17 12:58:13 · 736 阅读 · 0 评论 -
HDU 1495 非常可乐
【题意】大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S【分析】仔细分析一下,这题也不过就仅仅是6种情况,1->2,1->3,2->1,2->3,3->2,3原创 2016-05-12 15:17:16 · 454 阅读 · 0 评论 -
HDU 2181 哈密顿绕行世界问题
【题意】中文题面。【分析&解题思路】简单回溯,排序之后回溯。【AC代码】#include #include #include #include #include #include #include using namespace std;vectorG[21];int v[3];bool vis[21];int ans[21];int cnt;void pri原创 2016-05-13 11:30:11 · 411 阅读 · 0 评论 -
HDU 5289 Assignment
【题意】有N个员工,编号从1到N,已经给出每个员工的能力值。现在要把他们分组,要求每一组成员的编号是连续的且这一组里面最大能力值与最小能力值相差必须小于Q。问你可以分成多少组。【分析】two pointers ,二分+rmq,rmp+two pointers【AC代码】上一份别人的很巧的代码,思想就是rmp+划窗问题!#include #include #include #d原创 2016-04-18 19:26:32 · 436 阅读 · 0 评论 -
2016"百度之星" - 初赛(Astar Round2B)
区间的价值Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 685 Accepted Submission(s): 343Problem Description我们定义“区间的价值”为一段区间的最大值*最小值。原创 2016-05-27 17:02:26 · 947 阅读 · 0 评论 -
HDU 3085
【题意】一个迷宫里面有两个人,一个是M,一个是G,里面还有两个鬼,给出这个迷宫的状态。现在M每一秒可以走3步,G每一秒只能走一步。鬼每一秒可以走两步,鬼走过的地方人不能走,不然会死的很惨。现在问你M和G能不能相遇?如果能的话,输出需要走的时间。不能的话,输出-1.【分析&解题思路】题目给的迷宫是800*800,所以考虑一般的bfs是过不了的,这里才用双向的bfs。但是题目里面还是包含一个坑点的原创 2016-05-16 16:09:12 · 829 阅读 · 0 评论 -
HDU "巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场 Combine String
【题意】给了你一个字符串a,b,c!问你c能不能由a,b来拼凑成!【分析&解题思路】 dp[i][j]表示第一个字符串用了前i个位置(第i个位置已匹配),第二个字符串的前j个位置(第j个位置已匹配) 是否可以对c串成功匹配(成功匹配则必然会匹配到c串的前i+j个位置)。原创 2016-05-28 20:11:47 · 941 阅读 · 0 评论 -
"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场(重现)解题思路
【转载blog网址】点击打开链接转载 2016-05-30 10:29:48 · 935 阅读 · 0 评论 -
HDU 5710 Digit-Sum
【题意】我们要找出最小的正整数n满足——a*S(n)==b*S(2n)a,b的范围都在[1,100]【分析&推导】首先可以有这样的基础性结论:设gcd(a,b)=g, 我们可以先使得b=b/g, a=a/gS(n):S(2n)==b:a,那么我们有S(n):S(2n)=b:a。然后,一个好的做法是,我们研究本质问题。我们发现,如果一个digit是0~4,原创 2016-05-30 11:41:35 · 1275 阅读 · 0 评论 -
HDU 5701 中位数计数 (百度之星初赛)
【题目链接】点击打开链接【分析&解题思路】首先对于第i个数,我们从i-1个数开始递减,分别与第i个数进行比较,假设比第i个数大的数的个数即为l,比第i个数小的数的个数即为r,dp[l-r=k]则为[比第i个数大的数的个数]比[比第i个数小的数的个数]多k个的区间个数,那要保证第i个数是区间内的中位数,我只需要在第i个数的右边找有多少个[比第i个数小的数的个数]比[比第i个数大的数的个数原创 2016-06-01 18:42:42 · 587 阅读 · 0 评论 -
2016 百度之星 初赛(2A)
【A】All X【题目链接】点击打开链接【解题思路】懂了(a/b)%mod = (a)%(b*mod)/b%mod,这个之后,这题完全就是水题。。。【AC代码】#include #include #include #include using namespace std;#define ll long longll pow(ll a,ll n,ll mod){原创 2016-06-07 19:33:45 · 753 阅读 · 0 评论 -
HDU 5714 拍照(百度之星复赛)【宝宝的第一个爆0场】
【题目】小明在旅游的路上看到了一条美丽的河,河上有许多船只,有的船只向左航行,有的船只向右航行。小明希望拍下这一美丽的风景,并且把尽可能多的船只都完整地拍到一张照片中。小明位于河的边上,并且可以在河边的任意位置进行拍照,照相机的视野恰好为90度角,只能以垂直于河边的方向进行拍照。河上的船只全都可看作是平行于河边的一条线段,跟河边的距离各不相同,有的正在向左移动,有的正在向右移动,但原创 2016-06-10 14:28:11 · 568 阅读 · 0 评论 -
HDU.3294 Girls' research Manacher Algorithm
【题意】给了一个字符串,并且有一个替换操作,先把这个字符替换掉。然后求这个字符串的最长回文字串!并且要输出这个最长会问字串的起始位置和终止位置,以及这个回文字串!【解题方法】Manacher莽一波就好了。不知道为什么第一次数组开了6e6会迷之TLE。【AC代码】//HDU.3294 Girls' research//Manacher Algorithm#include #inc原创 2016-07-15 14:20:43 · 323 阅读 · 0 评论 -
离散化加树状数组求逆序数。
【转自BLOG】点击打开链接【1 POJ.2299】离散化是一种常用的技巧,有时数据范围太大,可以用来放缩到我们能处理的范围 因为其中需排序的数的范围0---999999999;显然数组不肯能这么大;而N的最大范围是500000;故给出的数一定可以与1.。。。N建立一个一一映射; 这里用一个结构体struct Node { int v,order;原创 2016-07-15 20:13:04 · 610 阅读 · 0 评论 -
hdu 6000 Wash 贪心
题意:L堆衣服,N台洗衣机,M台脱水机,给出每台机器的每次工作的时间 Wi,Di。一台机器一次只能给一堆衣服工作,求洗完衣服最少需要多少时间。 分析:2016 ccpc/final的一个题,这个贪心这是好难想到啊。看了这篇题解:见这里,思想就是最小洗完时间加最大脱水时间取大,仔细想想这个贪心确实是正确的啊,虽然我不能证明它,但是直观感觉这样得到的答案确实是最优的。然后就按照这个思想贪心做就好了。代原创 2017-01-12 20:20:21 · 1030 阅读 · 0 评论