ACM_HDU
JayYe
这个作者很懒,什么都没留下…
展开
-
hdu 1299 Diophantus of Alexandria
题意:给你一个n (1 首先由这个式子可以很快得到,a = (b*n) / (b-n) ,令b - n = m 则 a = n + (n*n)/k , b = n+k ,问题就转化成求n^2的因子数,最后这个因子数要处理下,因为有重复。求出n的所有素因子个数,n^2的所有素因子个数就是n的两倍,求因子数就是各个素因子的个数加一 相乘 。#include #include原创 2013-07-22 14:22:24 · 909 阅读 · 0 评论 -
HDU 4091 Zombie’s Treasure Chest (不错的数论题)
题意:给你一个体积V,第一种物品的体积价值s1,v1,第二种物品的体积价值s2,v2,物品都是任意个,问把两种物品放入V体积中最大的价值是多少。解题思路:设L = lcm(s1, s2),a = L/s1表示L体积下物品一的个数,b = L/s2表示L体积下物品二的个数,则最佳情况性价比低的那个物品个数必然不大它与L体积下的个数。所以可以由这个公式,设最佳情况体积为k*L +原创 2013-10-11 08:50:57 · 1033 阅读 · 0 评论 -
HDU 4609 3-idiots (FFT)
HDU 4609 3-idiots (FFT)原创 2013-09-26 23:58:15 · 1222 阅读 · 0 评论 -
HDU 4767 Bell (中国剩余定理)
HDU 4767 Bell (中国剩余定理)原创 2013-09-28 20:48:36 · 2855 阅读 · 6 评论 -
HDU 1402 A * B Problem Plus (FFT模板题)
HDU 1402 A * B Problem Plus (FFT模板题)原创 2013-09-26 18:43:17 · 1773 阅读 · 0 评论 -
HDU 3667 Transportation (最小费用最大流)
题意:有N个城市M条道路,现在你要把K个物品从城市1转移到城市N,每条道路转移x个物品需要ai *x^2费用,并且每条道路都有转移物品个数的上限,问你转移这K个物品最小费用为多少,若不能转移,输出-1.解题思路:对于每条道路建边每个容量为1的费用分别为ai , 3*ai, 5*ai ... (x^2 - (x-1)^2) *ai ,因为如果流量为1,肯定是走ai这条路,如果流量原创 2013-10-27 10:40:11 · 1159 阅读 · 0 评论 -
HDU 3666 THE MATRIX PROBLEM (差分约束判负环)
题意:给你一个N*M的矩阵C,问是否存在一个长度为N的数列a和长度为M的数列b使得所有C(i,j)*a(i)/b(j)在L , U范围内。解题思路:有两个式子 C(i,j)*a(i)/b(j) >= L , C(i,j)*a(i)/b(j) /* **********************************************Author原创 2013-10-27 13:37:12 · 1145 阅读 · 0 评论 -
HDU 3664 Permutation Counting (DP)
题意:问所有的n的排列中有k个ai > i的排列有多少种。解题思路:设dp[i][j] 表示i的排列中有j个ak > k的排列个数,状态转移方程就是:dp[i][j] = dp[i-1][j-1] * (i - j) + dp[i-1][j]*(j+1)对于第i个数 i,如果选择放在当前i这个位置,那么值不变,如果选择放在前面的ai > i 的那个位置上,则值也是不变的原创 2013-10-27 14:03:40 · 1222 阅读 · 0 评论 -
HDU 2897 邂逅明下 (博弈)
题意:给你n、p、q,每次操作是令n减小 [p, q]区间中的数,当n 解题思路:这种非常类似巴什博弈,可以找出必胜区间和必败区间,[1,p]为必败区间, [p+1, p+q]为必胜区间,很容易发现接下来的区间都是按照这个规律的,这种找出必胜(必败)区间或者必胜(必败)点的方法很常见的。/* ***********************************原创 2013-10-31 15:50:31 · 757 阅读 · 0 评论 -
HDU 3032 Nim or not Nim? (sg函数)
题意:给你n堆石子,每次操作可以在任意一堆石子里取走一部分或者将这堆石子分成两堆,最后操作的人取胜。解题思路:利用sg定理来解组合游戏的和,每堆石子看成一个游戏,对于有x个石子的堆,它的所有后继状态有 0, 1, 2, ... , x-1 ,(1, x-1), (2, x-2), .. (d, x-d),于是可以很容易处理出小数据的sg函数,然后可以发现4k+3的sg值为4原创 2013-10-31 16:36:57 · 906 阅读 · 0 评论 -
HDU 3389 Game (博弈)
题意:有n个盒子,从1到n排成一排,每个盒子里有一些卡片,每次一个玩家可以进行一个操作,从一个非空的盒子B中取出一些卡片放到盒子A中,A,B要满足 (A 解题思路:这题刚开始想没什么思路,无法将题目转换成常见的博弈问题,不过认真想想很容易发现 (A+B) = 6k + 3 (k >= 0),于是对于两个盒子A,B可行的转移也可以想出来, B%6 == 0的盒子可以转移到B%6原创 2013-11-01 16:17:26 · 1018 阅读 · 0 评论 -
HDU 3537 Daizhenyang's Coin (经典翻硬币博弈问题)
题意:一切皆网络流的戴神要追一个妹子。。。额。。算了直接说题意吧。。。不过题目背景真是有意思。。给你一些正面朝上硬币的位置,其他的位置硬币都是反面朝上的,每一次可以选择一个或者两个或者三个硬币将它们翻转 (正面变反面,反面变正面),但是最右边一个硬币必须是正面的,最后不能操作的人输。解题思路:有趣的翻硬币问题。。。可以参考很全的资料,全都是翻硬币游戏!http://bl原创 2013-11-01 18:44:27 · 1659 阅读 · 0 评论 -
HDU 2815 Mod Tree 解a^x = b(mod n)非互质
HDU 2815 Mod Tree 解a^x = b(mod n)非互质原创 2013-09-24 09:05:38 · 1767 阅读 · 0 评论 -
HDU 4055 Number String(不错的DP题)
题意:给你一个字符串s,s[i] = 'D'表示排列中a[i] > a[i+1],s[i] = 'I'表示排列中a[i] 比如排列 {3, 1, 2, 7, 4, 6, 5} 表示为字符串 DIIDID。解题思路:很巧妙的DP做法,dp[i][j]表示前i个满足字符串条件的结尾为j的 i 的排列,注意是i的排列,前面并没有数大于i。那又是如何往下递推呢?如果s[i -原创 2013-10-07 00:18:55 · 4247 阅读 · 0 评论 -
HDU 3686 Traffic Real Time Query System(点双连通缩点 + LCA)
题意:给你一个无向图,询问边a和边b,问从边a到边b的路径中几个点是必须要经过的。解题思路:很容易想到其实是求路径上割点的个数,然后就可以对图进行缩点了,我是把边缩成一个点(块),因为每条边有且仅属于一个联通块中,然后对割点和它相邻的块建边,新的建边完成后新图就成了一棵树。询问a边和b边,只需要找出它们分别属于哪个块中,问题转化成:一棵树中,有些点标记了是割点,现在询问两个原创 2013-10-05 02:20:29 · 3093 阅读 · 0 评论 -
hdu 4614 Vases and Flowers 线段树
这两天在搞基础的图论。。。一直没去搞这个,今天一搞原来这么简单,怪不得别人说线段树模板题,只不过函数多了点,成段更新,单点询问,懒惰标记。#include #include #define lson rt<<1, l, mid#define rson rt<<1|1, mid+1, rconst int maxn = 50005;struct PP{ int sum, f原创 2013-07-29 20:12:26 · 778 阅读 · 0 评论 -
hdu 4630 No Pain No Game 线段树 树状数组
题意:给你一个n的排列,有m个询问,每次询问L R,从L到R区间里选出两个数a, b使得gcd(a,b)最大,每次输出最大的gcd对于x的所有倍数,我们把他们两两结合得到的最大公约数看做x,把所有的找到的位置排个序,如果询问的L R的最大公约数可以是x,那么这个询问的LR区间必然包含所有的位置的某一个相邻的位置,这样的话就可以把相邻的位置看做线段l r,它有个val值x ,那么询问就是原创 2013-07-30 20:04:28 · 1879 阅读 · 3 评论 -
hdu 2837 Calculation 指数循环节
hdu 2837 关于指数循环节的几点疑问,希望路过的大牛看看指点一下!原创 2013-07-31 11:09:44 · 1654 阅读 · 0 评论 -
hdu 3221 Brute-force Algorithm 指数循环节
观察题目的程序可以很容易得到F[1] = a ,F[2] = b , F[3] = F[1]*F[2] , .... F[n] = F[n-1]*F[n-2]由于n 也就是说a的次幂和b的次幂都是斐波那契数列,这样就很简单了,然后根据A^x % m = A^(x%phi(m)+phi(m)) % m (x >= phi(m))不清楚这个公式的可以戳这里看看http:原创 2013-07-31 12:51:36 · 834 阅读 · 0 评论 -
hdu 4633 Who's Aunt Zhang polya计数法
Aunt Zhang, well known as 张阿姨, is a fan of Rubik’s cube. One day she buys a new one and would like to color it as a gift to send to Teacher Liu, well known as 刘老师. As Aunt Zhang is so ingenuity, she原创 2013-08-02 13:28:38 · 1284 阅读 · 0 评论 -
hdu 4600 Harvest Moon
牧场物语,太经典的游戏了。小时候玩一个暑假都不够的~题意:给你一个w*h的格子,有 A种 种子,每种种子都能撒播在3*3的格子上,超出格子范围的种子无效,种子n天后成熟,就直接能收获了。有的种子收获后直接消失,然后格子又变成空的又能撒播种子了,但是有些种子可以视作永远不会消失,然后以m天为一个周期成熟收获。现在让你只能买一种种子,初始的钱为Y,给你每个种子买进一个的价格和1*1的格子成熟收获后原创 2013-07-27 00:30:01 · 1544 阅读 · 0 评论 -
hdu 4634 Swipe Bo 搜索
典型的bfs模拟 (广度优先搜索) ,不过有好多细节要注意,比如图中如果是 R# 走到这个R的话就无限往右走了,这样就挂了~肯定到不了出口。还有一种容易造成死循环的,比如#E##DLLLD. .UD.SURRRU这样的话就必须要标记下当前位置某个方向获得钥匙的状态是否被访问过了,获得钥匙的状态可以状态压缩来表示。墙角如果遇到转弯了是不会加step的!#i原创 2013-08-02 16:37:36 · 1423 阅读 · 6 评论 -
hdu 4638 Group 树状数组
hdu 4638 解题报告原创 2013-08-03 00:23:43 · 1462 阅读 · 0 评论 -
Hdu 4661 Message Passing(树形DP,扩展欧几里得)
杭电多校集训4661 树形DP解题报告,比赛最后两分钟AC~原创 2013-08-09 00:18:55 · 2060 阅读 · 3 评论 -
HDU 4679 Terrorist’s destroy (树形DP)
杭电多校第八场 hdu 4679树形dp 简单明了的方法原创 2013-08-16 14:32:03 · 834 阅读 · 0 评论 -
HDU 4248 A Famous Stone Collector (dp)
题意:给你一些不同颜色的石头,问选出一些石头排成一排总共有多少种不同排法,不同数量的石头视为不同情况,每个位置上的石头颜色都相同视为相同情况。解题思路:首先对于k个石头,有x种不同颜色石头,每种颜色石头分别有ki个,那么这k个石头排成一排总共有k!/( k1!*k2!*k3!..kx!)种情况数,所以可以设dp[i][j]表示选完前i种颜色石头总共选了j个石头的情况数状态转原创 2013-11-03 09:26:49 · 906 阅读 · 0 评论