
HDU(HDOJ)
文章平均质量分 75
new_wu
这个作者很懒,什么都没留下…
展开
-
hdoj 4038 Stone(贪心+快速幂)
【题目大意】:给你一些数,你每次操作可以选择一个数加1,或者新增一个数1,问最大乘积是多少。【解题思路】:去年网络赛的题目了,当年是WA死在lld和I64d上。各种无语。题目好理解,把负数补足,然后尽可能凑3,贪心法。可以证明一下,设一两下数yy一下就可以【代码】:#include #include #include #include #include #原创 2012-04-03 23:59:35 · 586 阅读 · 0 评论 -
hdoj 3006 The Number of set(位运算+枚举)
【题目大意】:给出n个集合,每个集合的元素不少于1个不多于m个。每个集合元素有k种,问最后能组成多少种新的集合。【解题思路】:注意到m只有14.我们可以用二进制表述出所有集合出现的情况,现在只需要枚举所有集合出现的情况,在和题目给定的集合进行来判断是否能够构成就可以了。【代码】:#include #include #include #include #inc原创 2012-04-11 00:36:58 · 638 阅读 · 0 评论 -
hdoj 3660 Alice and Bob's Trip(树dp)
【题目大意】:给出一棵n个结点的树,两个人一起走,轮流决策。Alice目的是使最后距离最小,Bob则要最大。问最终走的距离能否满足区间[L,R](需要走到最后不能走,所以Alice不能不选就结束了)【解题思路】:第一次见到这道题是去年的暑假,当初一直把它当初博弈去找必胜态和必败态,然后徒劳无功。 下午队友把这道题切了,G++交必须用恶心的输入外挂....回来之后,顺手自己也把它写了原创 2012-03-25 01:03:40 · 553 阅读 · 0 评论 -
hdoj 1099 Lottery(期望)
【题目大意】:给出n张不同的牌,每种无限张,问你收集齐n张不同的牌所需的平均次数。【解题思路】:简单的期望题,假设现在手中有k张不同的牌,则下一张是不同的牌的概率是 (n-k)/n。那么抽到不重复的牌的期望张数是 n/(n-k)... 把n提出来~求E=n*sigema(1/k)(1原创 2012-03-29 18:13:46 · 953 阅读 · 0 评论 -
hdoj 4196 Remoteland(筛素数+奇偶判断)
【题目大意】:找一个数D,是一个平方数,且他是由 1000000007【解题思路】.:这道题兜了一个大圈,其实写写就会发现其实是找一个最大的平方数使得这个数是n!的除数。。。 然后,这道题就变得简单了。。。。。。。。 筛一次素数,然后求n!每一个素数出现多少次,出现偶数次的必然是D的因子,出现奇数次的,由于是该素数必定小于等于n只要除去该素数之后其原创 2012-04-02 23:42:14 · 730 阅读 · 0 评论 -
hdoj 4203 Doubloon Game(博弈+找规律)
【题目大意】:给出n个硬币,每次可以取走k的幂,问先手取多少个可以确保获胜,不能则输出0【解题思路】:Nim博弈,sg函数变形,不过太大, sg函数做不了....推小数据,找规律。【代码】:#include #include #include #include #include #include #include #include #include原创 2012-04-03 23:10:11 · 1017 阅读 · 0 评论 -
hdoj 2476 String painter(dp)
【题目大意】:给出两段字符串,要将a串变为b串,每次可以将其联系的一个子串改成任意的一个字母,问最少需要操作多少次。【解题思路】:dp。去年的暑假,遇到一道类似的问题,是21个点,队友用状态压缩搜索过了,我用贪心也水了过去。但是这一次,是100,没办法搜索,贪心也失效了。 其实这道题目一看就是一个明显的区间dp。 dp[i]原创 2012-03-25 02:11:22 · 1056 阅读 · 0 评论 -
hdoj 3367 Pseudoforest(并查集)
【题目大意】:给出一些边,求最大森林,最多仅允许出现一个环。【解题思路】:并查集,但是这个并查集比较特殊,涉及到一个环的判断,我们可以发现,其实在判断某几个点是否属于一个集合的时候,我们会查找他们的公共的父亲,那么我们在判断是否存在环的时候,我们也可以从其公共的父亲那里下手,也就是说,标记了他父亲有环,也就证明了与其所相连的节点只要连接就势必会构成环。这样就可以解决环的问题。原创 2012-03-29 16:53:32 · 616 阅读 · 0 评论 -
hdoj 1028 Ignatius and the Princess III(母函数)
【题目大意】:给出一个数,问一个数可以划分成多少个数的和,其中4=1+3,4=3+1,视为一种。【解题思路】:典型的普通母函数,其一般问题是(把n个相同的球放入n个相同的盒子,每个盒子可以为空)【代码】:普通母函数模版测试:#include #include #include #include #include #include #include原创 2012-03-30 01:36:07 · 821 阅读 · 0 评论 -
hdoj 2069 Coin Change(母函数)
【题目大意】:有1,5,10,25,50五种硬币,和一个价值n,问由总数不超过100的五种硬币有多少种方式可以组成价值n【解题思路】:母函数,总数有了限制,就加多了一维,每一次转的时候,判断总数是否超过100即可。【代码】:#include #include #include #include #include #include #include #i原创 2012-03-30 15:33:55 · 878 阅读 · 0 评论 -
hdoj 3586 Information Disturbing(二分答案+树dp判断)
【题目大意】:给出一个n,m以及n-1条边构成的网络,要求切去其所有的叶子节点,且代价和不能超过m,先在问你切去的边中的最大的边最小是多少。【解题思路】:最大值最小问题,二分。之后用树dp判断。dp[u]表示u为根的树切去叶子节点之后的总代价。则当代价和超过m或当前边代价大于二分出的答案的时候,dp[u]=dp[u]+dp[v]。反之dp[u]=dp[u]+w; 最后询问dp[1]跟m原创 2012-04-04 00:49:58 · 526 阅读 · 0 评论 -
hdoj 1598 find the most comfortable road(并查集)
【题目大意】:XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure---超级空中漫游结构)进行交流,每条SARS都对行驶在上面的Flycar限制了固定的Speed,同时XX星人对 Flycar的“舒适度”有特殊要求,即乘坐过程中最高速度与最低速度的差越小乘坐越舒服 ,(理解为SARS的限速要求,flycar必须瞬间提速/降速,痛苦呀 ),原创 2012-03-29 16:01:22 · 533 阅读 · 0 评论 -
hdoj 1171 Big Event in HDU(背包dp+母函数)
【题目大意】:给出n种数,每种数有m个,问怎么把这n*m个数分成两部分,满足第一部分大于等于第二部分,且尽可能相等。【解题思路】:dp,多重背包问题。 母函数,转化为求n种数m个数可以表示出那些数,计这个数为i,找到i,sum-i使得二者接近。【代码】:母函数:#include #include #i原创 2012-03-30 02:21:54 · 735 阅读 · 0 评论 -
hdoj 1709 The Balance(母函数)
【题目大意】:给出一些砝码,可以放在天秤的两边,问有[1,sum]中有哪些重量是不可称出来的【解题思路】:母函数,这里比较特殊的一点是砝码可以放在天枰的左右两端,我们可以在c2[j+k]+=c1[j]后加多一句c2[abs(j-k)]+=c[j]...即可 假设原来的砝码都放在右端,则可以把新加的砝码放在左端,得到新重量。原创 2012-03-30 02:48:49 · 766 阅读 · 0 评论 -
hdoj 2152 Fruit(母函数)
【题目大意】:给出n种水果,从中选m个,其中每种水果要求不少于x个且不多于y个。问有几种方法【解题思路】:普通母函数,改变一下取数的范围就可以了【代码】:#include #include #include #include #include #include #include #include #include #include #includ原创 2012-03-30 15:52:58 · 695 阅读 · 0 评论 -
hdoj 4195 Regular Convex Polygon(余弦定理+正凸多边形性质)
【题目大意】:给你三个顶点,这三个点是一个正多边形上的顶点,问该正多边形的顶点有几个。【解题思路】:三个点,三角形-->外接圆-->必定也是该凸多边形的外接圆- 设顶点数为i,我们只要知道,三角形任意两点所对应的圆心角是否是2pi/n的倍数就可以了。。。。i很小,枚举就可以了。角度用余弦定理求【代码】:#include #include #includ原创 2012-04-03 00:06:22 · 1638 阅读 · 0 评论 -
hdoj 4200 Bad Wiring(贪心)
【题目大意】:给出n盏灯,给出一个区间范围D。每盏灯可以开关1次,每次按第i盏灯[i-d,i+d]的灯全部变,现在给你灯的初始状态,问多少次可以全部灭去。不能输出“impossible”【解题思路】:1、开关灯的顺序与最小次数无关。2、枚举前d盏灯的操作方式(一共2^d种)对初始状态进行修改,可改可不改。3、然后对于d之后的灯i,如果它的前i-d盏灯是亮着的话,势必要由它操作最后一次,原创 2012-04-03 23:04:17 · 697 阅读 · 0 评论 -
hdoj 3002 King of Destruction (最小割边集+Stoer-Wagner算法)
【题目大意】:给出n个点,m条无向边,求最小割。【解题思路】:原本以为起点是0,终点是n-1,直接敲了个Isap上去....然后发现看错题意。后来发现是最小割边集的Stoer-Wagner算法,成了模版题【Stoer-Wagner算法】:转自:http://www.cppblog.com/RyanWang/archive/2009/08/18/93748.html原创 2012-04-10 23:27:42 · 1090 阅读 · 0 评论