HDU
文章平均质量分 87
Willona_C
这个作者很懒,什么都没留下…
展开
-
hdu1027 Ignatius and the Princess II(全排列)
题意:给定两个整数N、M。将1~N排列组合,按字典序从小到大排列,求出排在第M个的排列。 虽然N的范围很大,到1000,1000的阶乘很吓人呀,但是M的范围只到10000,而8的阶乘就已经超过10000了,所以无论N多大,我们最多只要考虑后八位的排列组合问题。 先判断M与阶乘数的大小,确定要考虑后几位的排列组合。假设是考虑后x位的排列组合,先将1~N-x-1顺序输出。然后处理剩余的数:用M对(原创 2015-07-16 23:18:17 · 468 阅读 · 0 评论 -
hdu1026 Ignatius and the Princess I(BFS+路径记录)
题意:给定m行n列的地图,“.”表示道路,“1”~“9”表示有怪兽,数值为打败怪兽所需时间,“X”表示陷阱,不可走。每走一步需要1s,左上角(0,0)是起点,右下角(n-1,m-1)是终点。要求从起点走到终点的最短时间,并且输出每一秒的动作(两点间的移动或是在某一点打怪)。 这道题的代码我从昨天改到今天,中间发现了一堆奇奇怪怪的错误。 一开始是被题目上面的“Special Judge”所迷惑,原创 2015-07-17 13:04:49 · 419 阅读 · 0 评论 -
hdu4638 Group(离线线段树)
题意:n个人,序号为1到n,将他们分尽可能少的组数,要求同组的人序号排序后是连续的。m次询问,求问询问的区间中的人至少可分成几组。 先将所有询问按右端点排序。将n个人依次存入线段树,当第i个人、序号为x的人加入线段树时,将其认为是独立的一组,则第i个结点的sum值加1,若序号为x - 1 或x + 1的人位置在他前面,则组数可以少1或2,则序号为x - 1 或x + 1的人所在位置所对应的结点s原创 2015-08-05 23:05:19 · 491 阅读 · 0 评论 -
hdu1028 Ignatius and the Princess III(DP整数划分)
题意:给定一个整数,将其写成若干个整数的和,求有多少种情况。 可以直接考虑各个加数递减的情况,避免重复。依旧是DP的思想。 将整数n划分成两个整数之和,n+0,(n-1)+1,(n-2)+2,……,(n-n/2)+(n/2)。再将加号前面的加数继续如此划分,注意:继续划分时,后一个加数至少为上一级的后一个加数,以确保加数列的递减性。用a[n][1]表示将n表示成(n-1)+1的情况数,则可知a原创 2015-07-16 22:53:20 · 453 阅读 · 0 评论 -
hdu3549 Flow Problem(最大流)
题意:t个测试数据,n个结点,m条水管,给出每条水管的最大流量,求从第一个结点流向最后一个结点,最多的水流量。 跟poj1273一样,也是典型的最大流模板题,套用Dinic算法的模板。 #include #include #include #include #define maxn 20 using namespace std; int m, n, s, e, c; int原创 2015-08-06 09:55:15 · 372 阅读 · 0 评论 -
hdu1029 Ignatius and the Princess IV(DP求数列中出现次数过半的数)
题意:给定一个奇数n以及n个数,求其中出现次数至少为(n+1)/2的数。 因为要求数个数过半,所以如果存在,必只有一个。这个题还是会用到DP的思想:若a为n个数中出现次数过半的数,则去掉2k(k为整数)个数,当这2k个数不存在出现次数超过k的数时,剩余n-2k个数中出现次数过半的数仍是a。 所以,定义两个变量分别为x、y,分别记录当前出现次数过半的数,当下一个数等于x时,y加一;当下一个数不等原创 2015-07-16 22:50:45 · 674 阅读 · 0 评论 -
hdu3789/九度OJ1007 奥运排序问题
题目描述: 按要求,给国家进行排名。 输入: 有多组数据。 第一行给出国家数N,要求排名的国家数M,国家号从0到N-1。 第二行开始的N行给定国家或地区的奥运金牌数,奖牌数,人口数(百万)。 接下来一行给出M个国家号。 输出: 排序有4种方式: 金牌总数 奖牌总数 金牌人口比例 奖牌人口比例 对每个国家给出最佳排名排名方式 和 最终排名 格式为: 排名:排原创 2016-03-14 19:00:24 · 1549 阅读 · 0 评论