HDU
文章平均质量分 78
synapse7
这个作者很懒,什么都没留下…
展开
-
WuHan 2009 / UVa 12232 / HDU 3234 Exclusive-OR (异或的性质&加权并查集&合并时保持根结点不变)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=33841. 对于第一种命令I p v,我们可以虚拟出一个点Xn = 0,那么p^Xn = v,故第一和第二种命令我们可以统一成p^q = v的模式。2. 记val[i]原创 2014-03-07 16:22:41 · 1264 阅读 · 0 评论 -
HDU 1394 Minimum Inversion Number (最小逆序对数&线段树)
http://acm.hdu.edu.cn/showproblem.php?pid=1394每读一个数,先查询前面有多少比它大的数(在代码中我们是查询[x,n-1]范围内的数),然后将位置x的数+1把第一个数在序列末尾时,因为比x小的数(0~x-1)都在x前面了,所以逆序对数减少了x;因为比x大的数(x+1~n-1)都在x前面了,所以逆序对数增加了n-1-x。这样每次移动,逆序对数原创 2014-02-18 15:35:55 · 1723 阅读 · 0 评论 -
HDU 2795 Billboard (RMQ线段树&合并操作技巧)
http://acm.hdu.edu.cn/showproblem.php?pid=2795关键的一句话:int ret = (x 完整代码:/*3484ms,3356KB*/#include #include using namespace std;#define lson l , m , rt << 1#define rson m + 1 , r原创 2014-02-18 16:38:58 · 810 阅读 · 0 评论 -
HDU 1754 I Hate It (RMQ线段树)
http://acm.hdu.edu.cn/showproblem.php?pid=1754模板。/*1062ms,2284KB*/#include #include using namespace std;#define lson l, m, rt << 1#define rson m + 1, r, rt << 1 | 1#define root 1, n原创 2014-02-18 13:18:36 · 787 阅读 · 0 评论 -
HDU 2066 一个人的旅行(最短路&Dijkstra)
一个人的旅行http://acm.hdu.edu.cn/showproblem.php?pid=2066Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里原创 2013-08-08 23:12:44 · 1092 阅读 · 0 评论 -
POJ 1014 / HDU 1059 Dividing (多重背包&剪枝&单调队列)
http://poj.org/problem?id=1014参考了http://poj.org/showmessage?message_id=173435完整代码: /*0ms,376KB*/#include#includeconst int mx = 7;const int mxw = 1300;int m[mx], dp[mxw], deq[mxw],原创 2014-02-27 18:44:07 · 1036 阅读 · 0 评论 -
POJ 1276 Cash Machine (多重背包&单调队列)
http://poj.org/problem?id=1276模板题。完整代码:/*110ms,4316KB*/#include#includeconst int mx = 1005;const int mxw = 1000005;int w[mx], m[mx], dp[mxw], deq[mxw], deqv[mxw];int solve(int m原创 2014-02-27 14:48:50 · 1761 阅读 · 0 评论 -
HDU 2686 Matrix (双线程DP)
http://acm.hdu.edu.cn/showproblem.php?pid=2686双线程,嗯,好名字。每次DFS传两个点的坐标,别让它们重合就行。额外说一句,数据中有0完整代码:/*78ms,6112KB*/#include#include#includeusing namespace std;const int mx = 35;原创 2014-02-27 17:40:19 · 889 阅读 · 0 评论 -
UVa 100 / HDU 1032 / POJ 1207 The 3n + 1 problem (数论&Collatz序列周期)
介绍:这题说的是奇偶归一猜想(英语:Collatz conjecture),又称为3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。注意:1. 一开始我调试的时候发现用int会超数据,但直接用int交可以AC(这只能说明OJ上的测试数据没完善。。)2. i可能大于j,一开始读题的时候就yy会不会出给这么变态的数据,没想到真的这样。。3. 使用一个数组保存算过的数据,可减原创 2013-08-08 09:07:14 · 2176 阅读 · 0 评论 -
HDU 2159 FATE (二维费用完全背包)
http://acm.hdu.edu.cn/showproblem.php?pid=2159参考《背包九讲》第5讲注意循环时,每次先杀一只怪,再选择不同的忍耐消耗。完整代码:/*0ms,276KB*/#include#include#includeusing namespace std;const int maxn = 105;int exp[max原创 2014-02-24 10:13:29 · 908 阅读 · 0 评论 -
SWERC 2011 / HDU 4196 Remoteland (数论&想法题)
RemotelandTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/131072 K (Java/Others)http://acm.hdu.edu.cn/showproblem.php?pid=4196思路:显然取n!是最大的,但这不一定是一个完全平方数,需要把多余的部分除原创 2014-01-13 20:39:50 · 1344 阅读 · 0 评论 -
HDU 2639 Bone Collector II (0-1背包第k优解)
http://acm.hdu.edu.cn/showproblem.php?pid=2639参考背包九讲9.5节,注意合并单调队列的技巧(末尾加一个-1标记)完整代码:/*109ms,488KB*/#include#include#include#includeusing namespace std;int w[105], v[105], dp[1005原创 2014-02-20 21:36:35 · 939 阅读 · 0 评论 -
HDU 2544 最短路 (SSSP & O(V^2)的Dijkstra算法)
http://acm.hdu.edu.cn/showproblem.php?pid=2544模板题。完整代码:/*15ms,276KB*/#include#includeconst int mx = 101;int n, m, dis[mx][mx], disTo[mx];bool vis[mx];void dij(int st){ int i,原创 2014-01-14 08:58:44 · 1369 阅读 · 0 评论 -
O(NV)的完全背包算法 及 HDU 4508 湫湫系列故事——减肥记I (完全背包)
介绍:完全背包:有N种物品和一个容量为V的背包,每种物品都有无限件可用。放入第i种物品的价值是Wi,所占空间是Ci。求解:将哪些物品装入背包,可使这些物品体积总和不超过背包容量,且价值总和最大。题目可以转化为在Σ(i=1~N) kiCi 思路:temp = f[j - c[i]] + w[i];if (f[j] < temp) f[j] = temp;读原创 2013-07-31 09:42:53 · 1194 阅读 · 0 评论 -
HDU 4745 Two Rabbits (最长回文变形)
http://acm.hdu.edu.cn/showproblem.php?pid=4745/*31ms,4192KB*/#include#include#includeusing namespace std;const int mx = 1005;int dp[mx][mx];///从i到j的最长回文串的长度int w[mx];int solve(int n)原创 2014-03-01 21:04:29 · 967 阅读 · 0 评论 -
HDU 1698 Just a Hook (线段树)
http://acm.hdu.edu.cn/showproblem.php?pid=1698/*843ms,2288KB*/#include #include using namespace std;#define lson l , m , rt << 1#define rson m + 1 , r , rt << 1 | 1#define root 1, n, 1co原创 2014-02-19 11:04:51 · 1084 阅读 · 0 评论 -
HDU 2126 Buy the souvenirs (贪心&0-1背包最优解的个数)
http://acm.hdu.edu.cn/showproblem.php?pid=2126由于身上的钱相当于背包容量,价格相当于重量,由于我们要买尽量多的物品,所以每件物品的价值就为1在价值都相等的情况下,我们可以用贪心的思想求出最多能买多少件物品——排个序就行了最后就是怎么就最优解的方案数,如下:for (j = 0; j <= maxw; ++j) selection原创 2014-02-20 15:59:13 · 961 阅读 · 0 评论 -
HDU 2973 / UVa 1434 / CERC 2008 YAPTCHA (威尔逊定理及其逆定理)
http://acm.hdu.edu.cn/showproblem.php?pid=2973思路:当n是合数时,((n-1)!+1)/n不为整数,所以在题目的和式中该部分为0;n是质数时就为1了。所以筛一遍素数就出符合3k+7类型的素数即可。额外说一句,当a,b互素时,形如an+b的素数有无穷个。(wiki:Dirichlet's theorem o原创 2014-01-24 10:27:06 · 3157 阅读 · 0 评论 -
POJ 2559 / HDU 1506 / LightOJ 1083 Largest Rectangle in a Histogram (单调栈)
Largest Rectangle in a Histogramhttp://poj.org/problem?id=2559Time Limit: 1000MSMemory Limit: 65536KDescriptionA histogram is a polygon composed of a sequence of rectangles ali原创 2013-09-19 18:07:02 · 1838 阅读 · 0 评论 -
HDU 4741 Save Labman No.004 (异面直线距离&直线与平面的交点)
http://acm.hdu.edu.cn/showproblem.php?pid=4741模板题。理论知识见代码注释。这题背景居然是命运石之门。。/*218ms,276KB*/#include#includeconst double eps = 1e-9;struct P3{ double x, y, z; P3(double x = 0.0, do原创 2014-03-16 19:20:13 · 1280 阅读 · 0 评论 -
HDU 3908 Triple (逆向思维)
http://acm.hdu.edu.cn/showproblem.php?pid=3908题意:给定一个数组,判断数组中这样的三元组的个数:要么三个元素两两互素,要么三个元素两两都不互素。ans=C(n,3) - 三个数中有一对互素的并且有一对不互素的个数sumsum怎么算?对于num[i],计算与之互素的元素的个数pnum,那么不互素的元素的个数就是原创 2014-03-09 11:53:37 · 1561 阅读 · 0 评论 -
HDU 3903 Trigonometric Function (三角恒等式&余弦定理)
http://acm.hdu.edu.cn/showproblem.php?pid=3903如何判断的有理性?由这三个式子:问题可化归为判断A,B,C的正弦和余弦是否为有理数,又由余弦定理以及cos(arccos x)=x若x=p/q,则sqrt(1-x^2)=sqrt(q^2-p^2)/q故只需判断q^2原创 2014-03-09 12:13:41 · 1275 阅读 · 0 评论 -
Beijing 2008 / UVa 1428 / POJ 3928 / HDU 2492 Ping pong (树状数组)
Ping ponghttp://poj.org/problem?id=3928;http://acm.hdu.edu.cn/showproblem.php?pid=2492Time Limit: 1000MSMemory Limit: 65536KDescriptionN(3<=N<=20000) ping pong players原创 2013-07-27 21:35:34 · 1064 阅读 · 0 评论 -
树状数组、线段树模板(一)——单点更新 + HDU 1166 敌兵布阵
http://acm.hdu.edu.cn/showproblem.php?pid=1166此题考查RSQ(Range Sum Query)。模板如下:/*343ms,744KB*//*我们使用如下缩写:root--整棵树的根节点rt--当前区间的根节点l,r--区间左右端点m--区间的二等分点,注意m是落在左子区间的(右端点)lson,rson-原创 2013-07-26 00:21:10 · 1126 阅读 · 0 评论 -
HDU 3853 LOOPS (概率DP)
http://acm.hdu.edu.cn/showproblem.php?pid=3853令dp[i][j]表示从(i,j)到(R,C)花费的魔力值的期望。那么,我们有:dp[i][j] = 2 + ploop[i][j]*dp[i][j] + pleft[i][j]*dp[i][j+1] + pdown[i][j]*dp[i+1][j]移项可得:if (ploo原创 2014-03-07 22:39:34 · 926 阅读 · 0 评论 -
数位DP小记 + HDU 2089 不要62
【背景】如何求出在给定区间[A,B]内,符合条件P(i)的数i的个数?条件P(i)一般与数的大小无关,而与数的组成有关,有一下几种P(i):数i是递增/递减的:1234, 2579,…双峰的:19280,26193,…含/不含某一数字的,比如含49:49, 149, 1492,… 被某一数m整除的,比如m=13:39,130,650...【思路】采用原创 2014-03-11 13:14:59 · 1950 阅读 · 1 评论 -
HDU 2602 Bone Collector (经典0-1背包)
http://acm.hdu.edu.cn/showproblem.php?pid=2602/*31ms,240KB*/#include#include#includeusing namespace std;const int mx = 1005;int w[mx], v[mx], dp[mx];void _01pack(int n, int maxw){ me原创 2014-02-20 05:38:11 · 1066 阅读 · 0 评论 -
HDU 2546 饭卡 (需要一些思考的0-1背包)
http://acm.hdu.edu.cn/showproblem.php?pid=2546先给菜价排个序,然后:printf("%d\n", m 完整代码:/*62ms,240KB*/#include#include#includeusing namespace std;const int mx = 1005;int w[mx], dp[mx];原创 2014-02-20 06:03:39 · 787 阅读 · 0 评论 -
HDU 2955 Robberies (想法题&0-1背包)
http://acm.hdu.edu.cn/showproblem.php?pid=2955如何变形呢??int _01pack(int n, int maxw){ memset(dp, 0, sizeof(dp)); dp[0] = 1.0;///初始化这个 int i, j; for (i = 0; i < n; ++i) for (j = maxw; j >=原创 2014-02-20 06:54:33 · 835 阅读 · 0 评论 -
HDU 4549 M斐波那契数列 (费马小定理降幂&矩阵快速幂)
http://acm.hdu.edu.cn/showproblem.php?pid=4549Problem DescriptionM斐波那契数列F[n]是一种整数数列,它的定义如下:F[0] = aF[1] = bF[n] = F[n-1] * F[n-2] ( n > 1 )现在给出a, b, n,你能求出F[n]的值吗?原创 2014-01-26 07:42:54 · 2248 阅读 · 0 评论 -
铺瓷砖问题 HDU 2046 骨牌铺方格 + POJ 2663 Tri Tiling (递推)
骨牌铺方格http://acm.hdu.edu.cn/showproblem.php?pid=2046Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description在2×n的一个长方形方格中,用一个1× 2原创 2013-11-08 23:42:41 · 2361 阅读 · 0 评论 -
UVa 572/POJ 1562/HDU 1241 Oil Deposits(DFS,两种写法)
572 - Oil DepositsTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=105&page=show_problem&problem=513http://poj.org/problem?id=1562http原创 2013-08-03 17:42:08 · 1094 阅读 · 0 评论 -
HDU 4254 A Famous Game (概率&组合数学公式)
x原创 2013-09-24 21:56:51 · 2260 阅读 · 0 评论 -
HDU 1538 A Puzzle for Pirates (博弈&海盗分赃问题)
A Puzzle for Pirateshttp://acm.hdu.edu.cn/showproblem.php?pid=1538Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionA bunch原创 2013-10-04 13:09:06 · 1509 阅读 · 2 评论 -
HDU 2566 统计硬币(O(m^3)枚举+优化成O(m))
统计硬币http://acm.hdu.edu.cn/showproblem.php?pid=2566Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description假设一堆由1分、2分、5分组成的n个硬币总面原创 2013-08-14 13:43:10 · 1060 阅读 · 0 评论 -
UVa 11292 / POJ 3646 / HDU 1902 Dragon of Loowater (贪心)
11292 - Dragon of LoowaterTime limit: 1.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=456&page=show_problem&problem=2267Once upon a time, in the原创 2013-09-01 09:37:41 · 972 阅读 · 0 评论 -
HDU 1061 Rightmost Digit (数学&三种解法)
Rightmost Digithttp://acm.hdu.edu.cn/showproblem.php?pid=1061Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionGiven原创 2013-08-27 16:20:25 · 900 阅读 · 0 评论 -
HDU 1022 Train Problem I (栈)
Train Problem Ihttp://acm.hdu.edu.cn/showproblem.php?pid=1022Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionAs the原创 2013-08-25 17:07:57 · 1038 阅读 · 0 评论 -
HDU 1021/ZOJ 2060 Fibonacci Again(数论&整除推导&位运算技巧)
Fibonacci Againhttp://acm.hdu.edu.cn/showproblem.php?pid=1021http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2060Time Limit: 2000/1000 MS (Java/Others) Memory Limit原创 2013-08-10 22:07:39 · 1058 阅读 · 0 评论 -
HDU 2099 整除的尾数(模运算)
整除的尾数http://acm.hdu.edu.cn/showproblem.php?pid=2099Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description一个整数,只知道前几位,不知道末二位,被另一个整数原创 2013-08-10 21:14:23 · 1041 阅读 · 0 评论