HDU
文章平均质量分 63
Kim0403
这个作者很懒,什么都没留下…
展开
-
HDU 5690 ALL X
全是由数字x组成的m位数可表示为(10m-1)/9*x。则判断 (10m-1)/9*x%k == c 的真假可转化为判断 (10m-1)*x%(9*k) == 9*c 的真假(对于加减乘运算,取模可以移动,对于除法不可行。但此处 10m-1 表示有m个9组成的数,一定可以整除9,故可将9和k放在一起当模数)。接下来用快速幂就可以了。#include int t;long long原创 2016-05-27 21:46:41 · 331 阅读 · 0 评论 -
HDU 3368 Reversi
简单的搜索。详见代码。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define CPY(A, B) memcpy(A, B, siz原创 2016-07-26 17:23:44 · 402 阅读 · 0 评论 -
HDU 5686(斐波那契数列大数)
通过分析,可以发现题目就是一个斐波那契数列,但数很大,所以果断高精度模板。#include #include #include #include using namespace std;string &_string_add_string (const string &a, const string &b, string &res) { int sum_value =原创 2016-05-27 21:54:05 · 670 阅读 · 0 评论 -
HDU 1003(水DP)
#include#include#include#include#include#include#include#include#include#include#include#include#includetypedef long long LL;typedef unsigned long long uLL;using namespace std;//算法分析:求原创 2016-05-27 21:36:22 · 345 阅读 · 0 评论 -
HDU 5706 GirlCat
搜索题,简单DFS#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define CPY(A, B) memcpy(A,原创 2016-07-30 01:31:15 · 391 阅读 · 0 评论 -
HDU 5710 Digit-Sum
5*2=10,S(5*2)=1,2*S(5)=10;6*2=12,S(6*2)=3,2*S(6)=12;7*2=14,S(7*2)=5,2*S(7)=14;8*2=16,S(8*2)=7,2*S(8)=16;9*2=18,S(9*2)=9,2*S(9)=18;规律显然,其实就是满十进1,每位数字之和便小了9。假设n里有L位数为5-9,那么显然满足:S(2n)原创 2016-07-30 01:58:23 · 784 阅读 · 0 评论 -
HDU 3366 Passage (dp)
题意:n条通道和m百万元,每一条通道有三种情况,一是直接出去,概率是p,二是碰上士兵,给1百万块再回去,概率是q,或者是死路,概率是1-p-q。问最终出去时最优可能性。思路:概率dp,既然问最优可能性,肯定是最有可能跑出去的情况最好了,就算跑不出去也要少碰士兵,所以先按p/q从大到小排序,然后dp[i][j]代表在第i个通道,还有j万元的时候能出去的概率。能直接出去的话,最终结果加原创 2016-07-28 00:54:33 · 500 阅读 · 0 评论 -
HDU 3232 Crossing Rivers (数学期望)
船的初始位置随机,要求期望。那么船从河上正好往东岸赶的几率是1/2,往西岸去再回来的几率是1/2#include#define CPY(A,B)memcpy(A,B,sizeof(A))typedef long long LL;typedef unsigned long long uLL;const int MOD=1e9+7;const int INF=0x3f3f3f3f;原创 2016-08-05 17:24:02 · 381 阅读 · 0 评论 -
HDU 3697 Selecting courses
暴力,贪心每门课按结束时间从小到大排序,结束时间相同的按开始时间从小到大排序,这样按顺序选一定最优。由题意可知,这个人开始选课的时间自由,一旦开始选课,只能每五分钟选一次,开始时间分别取0,、1、2、3、4,剩下的选课时间就固定了,暴力查找一下即可。#include#include#include#include#include#include#include#inclu原创 2016-08-05 09:12:07 · 351 阅读 · 0 评论 -
HDU 4586 Play the dice (数学期望)
数学期望就是每次可能结果的概率乘以其结果的总和。比如1 2 3 4 5 6 数学期望就是3.50.掷到一个特殊面只是得到了一个再次投掷的机会,和第一次投掷的效果完全一样。特殊面的数值无关紧要。sum/n*(1+q+q^2+q^3+……+q^k) q=m/n k=inf 所以sum/n*(1/(1-m/n)) = (sum/n)*(n/n-m) =sum原创 2016-07-27 16:45:22 · 409 阅读 · 0 评论 -
HDU 3233 Download Manager
下载不会中断,任务总量一定,网速全程最高。那么,直接除就行,不用模拟。#include#define CPY(A,B)memcpy(A,B,sizeof(A))typedef long long LL;typedef unsigned long long uLL;const int MOD=1e9+7;const int INF=0x3f3f3f3f;const LL INFF=0原创 2016-08-05 17:31:44 · 444 阅读 · 0 评论 -
hdu 5443 The Water Problem
找区间内最大值。数据范围,才10*1000*100,果断暴力。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#原创 2016-08-05 09:06:27 · 300 阅读 · 0 评论 -
HDU 5688
分析题目,发现字符排序后,查重就行。用map比较好写。#include #include #include #include #include #include using namespace std;mapcnt;int main() { cnt.clear(); char nn[45]; int N; cin>>N; while (N--)原创 2016-05-27 21:58:36 · 334 阅读 · 0 评论 -
HDU 3361 ASCII
没啥可说,直接按char型输出即可。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#d原创 2016-07-26 17:15:06 · 450 阅读 · 0 评论 -
HDU 3363 Ice-sugar Gourd
就两种水果,只要各自数目非偶,那就做不到。都是偶数,那么一定可以两刀解决问题,维持一个总长一半的区间,使其内水果之一,是它总数的一半。问题解决。#include#include#include#include#include#include#include#include#include#include#include#include#include#includ原创 2016-07-26 17:20:16 · 548 阅读 · 0 评论 -
HDU 4593 Robot
直接都统计一次,出现两次就是大于1呗……#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define CPY(A, B原创 2016-07-27 16:50:23 · 270 阅读 · 0 评论 -
HDU 4588 Count The Carries
从a加到b,统计二进制进位总次数,纯粹暴力,肯定超时。所以转换成统计从0-a二进制表达的各位1的个数,0-b各位的1的个数,后者减前者对应位,即可求出每位有多少个1。然后当前位1的个数/2,就是当前位的总进位数,后面的加上前一位答案除二,再除二,累加即可推出总数。那么如何统计每一位上1的个数呢???卡壳卡了两个小时……以下是规律: 1 1 1原创 2016-07-27 16:46:41 · 442 阅读 · 0 评论 -
HDU 5702 Solving Order
写个结构体,按数量排序,输出对应颜色。开始怕有重复来着,觉得先不考虑那种情况,结果过了。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include原创 2016-07-30 01:15:03 · 467 阅读 · 0 评论 -
HDU 5704 Luck Competition
设自己会选x这个数,那么x就要成为幸运数。所以可得方程:((sum+x)/n) * (2/3) = x经过化简,x=2*sum/ (3*n-2)还需要统计一下和x相同大小数字的个数。#include#include#include#include#include#include#include#include#include#include#include#i原创 2016-07-30 01:29:02 · 1080 阅读 · 0 评论 -
HDU 5703 Desert
我场上不怕时间不够,慢慢来以下,第一行是总量,第二行是分配方式,第三行是方法数及其二进制表示111 122 112 1033 12 21 1114 10044 31 13 22 211 112 121 11118 100055 41 14 32 23 212 122 221 311 113 131 2111 1121 1211 1112原创 2016-07-30 01:21:55 · 376 阅读 · 0 评论 -
HDU 4594 Script Z
一道恶心的模拟,写了一整晚上也不知道哪里错,借助大神的代码AC了这是Hint :The problem itself is easy of course. But some of the test cases of this problem are strange and annoying. Be careful!#include#include#include#include#i原创 2016-07-28 01:06:19 · 731 阅读 · 0 评论