![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
文章平均质量分 53
iamskying
这个作者很懒,什么都没留下…
展开
-
HDOJ 2058 The sum problem [效率分析]
题目的意思并不难理解:输入两个整数M,NN, M( 1 譬如:Sample Input20 1050 300 0Sample Output[1,4][10,10][4,8][6,9][9,11][30,30]因为M,N的范围比较大,一般的算法很容易超时,所以在这里,时间效率尤其重要。方法一:回溯暴力求解原创 2009-08-19 21:41:00 · 2574 阅读 · 3 评论 -
HDOJ 1408 盐水的问题 [整体思维]
所谓整体思维:就是说把盐水的水滴数看作一个整体,根据每一滴水滴的容量,先算出总共的水滴总数n,然后再根据水滴总数n做分析。注意:初始容量vul和每一滴的容量d,都要用双精度浮点型double 代码如下:#include using namespace std;int main(){ double vul,d; int n,time1,time2; while原创 2009-11-17 21:21:00 · 828 阅读 · 0 评论 -
HDOJ 1407 测试你是否和LTC水平一样高 [暴力优化]
直接暴力3个for循环,但需要一定的优化。 1、s=sum; [TLE 1000MS]2、s=sqrt(sum); [AC 953MS]3、还可以继续优化: for(int y=x;ys&&flag;++y) for(int z=y;zs&&flag;++z) [AC 515MS] 代码如下:#include #inc原创 2009-11-16 16:04:00 · 799 阅读 · 0 评论 -
HDOJ 1405 The Last Practice [恶心题]
此题有两点很让人纠结:1、最后一个数字之后还有一个空格(题目没说清楚)2、在最后一组也就是-1之前不输出空行(这个有说,但此类格式很少见) 我自己写的那段代码:Output Limit Exceeded了5次 随后去杭电论坛看了一下,无意中发现一段很值得学习的代码,当然,先拿来AC了再说,然后在仔细学习。其中的for(ni=2;ni一句用得很妙,直接得出素数因子,而我之原创 2009-11-15 21:38:00 · 923 阅读 · 0 评论 -
HDOJ 1397 Goldbach's Conjecture [爱沙托散筛法求素数]
简单题,直接贴代码.代码如下:#include using namespace std;const int MaxSize=32767;bool flag[MaxSize];int pm[MaxSize];//存放素数//求素数的爱沙托散筛法void prime(){ int i,j,k; memset(flag,true,sizeof(fl原创 2009-11-15 19:47:00 · 853 阅读 · 0 评论 -
HDOJ 1201 18岁生日 [常识]
题目很水,但是我做得很纠结。 解题思路:生活常识,平年:365天,闰年:366(2月有29号)如果出生在2月29号,那么也就说出生那一年一定是闰年,通过简单证明可得:闰年+18=非闰年 提示:对大于等于3月和小与3月出生分类讨论。 AC代码: #include using namespace std;bool rn(int year){原创 2009-10-29 21:54:00 · 1090 阅读 · 1 评论 -
HDOJ 1163 Eddy's digital Roots [简单数论]
题目描述:求n^n次的digital root(数根),例如root(67)=6+7=root(13)=1+3=4;求解思路:现在分析一个问题,假设将十位数为a,个位数为b的一个整数表示为ab,则推导得ab*ab = (a*10+b)*(a*10+b) = 100*a*a+10*2*a*b+b*b根据上式可得:root(ab*ab) = a*a+2*a*b+b*b = (a原创 2009-10-28 16:09:00 · 2148 阅读 · 1 评论 -
HDOJ 1058 Humble Numbers [简单DP]
此题谨慎暴力,DP是正解。 #include #include using namespace std;int s[5843];int main(){ int a,b,c,d; a=b=c=d=1; for(int i=1;i<8;++i) s[i]=i; for(int i=8;i<5843;++i)原创 2009-10-28 13:28:00 · 1068 阅读 · 0 评论 -
HDOJ 1028 Ignatius and the Princess III [母函数]
求解思路:整数的拆分问题,并且可重复,则得出以下式子(1+x+x^2+x^3+...+x^n)(1+x^2+x^4+...)(1+x^3+x^6...)...把上面的母函数转化成代码就可以了。AC代码://母函数#include using namespace std;const int MaxSize=121;int c1[MaxSize]原创 2009-10-28 13:11:00 · 977 阅读 · 0 评论 -
HDOJ 1098 Ignatius's puzzle [数学归纳]
求解思路:f(x)=5*x^13+13*x^5+k*a*x;其中题中"f(x)|65"表示对于任意的整数x,f(x)都能被65整除.所以不难推断:f(x+1)|65也成立. f(x+1)=5*(x+1)^13+13*(x+1)^5+k*a*(x+1),根据二项式定理:(a+b)^n=C(n,0)a^n+C(n,1)a^(n-1)*b+C(n,2)a^(n-2)*b^2+...+原创 2009-10-28 13:32:00 · 1939 阅读 · 1 评论 -
HDOJ 1029 Ignatius and the Princess IV [map]
调用map容器,类似于单词统计。 #include #include using namespace std;int main(){ int n,x; while(cin>>n) { map num; for(int i=0;i<n;++i) { cin>>x;原创 2009-10-28 13:21:00 · 541 阅读 · 0 评论 -
HDOJ 1106 排序 [stable_sort]
求解思路:调用泛型算法stable_sort().注意几类特殊情况的考虑.如005555,0065500,00000,555000等. AC代码: #include #include #include #include #include using namespace std;bool isShorter(const string &s1原创 2009-10-28 13:55:00 · 1068 阅读 · 0 评论 -
HDOJ 2086 A1=? [简单归纳]
Problem Description有如下方程:Ai = (Ai-1 + Ai+1)/2 - Ci (i = 1, 2, 3, .... n).若给出A0, An+1, 和 C1, C2, .....Cn.请编程计算A1 = ?Input输入包括多个测试实例。对于每个实例,首先是一个正整数n,(n Output对于每个测试实例,用一行输出所求得原创 2009-10-28 11:05:00 · 1311 阅读 · 0 评论 -
HDOJ 2087 剪花布条 [KMP]
//题目描述:HDOJ 2087 剪花布条 //问题抽象:典型的字符串匹配问题//核心算法:KMP//时间复杂度:O(n+m)#include#includeusing namespace std;const int MaxSize=1000;//计算next[]值,kmp核心void GetNext(string t,int next[]){ int原创 2009-09-16 09:09:00 · 967 阅读 · 0 评论 -
HDOJ 1465 不容易系列之一 [全错排问题]
题目简单可描述为:n份信,没有一份装在自己对应的信封里,求总共有多少种排法?例如:n=3;2 3 13 1 2共有两种排法。 提示:欧拉全错排公式的简单应用,f(n)=n![1/2!-1/3!+1/4!+...+(-1)^n*1/n!] (n>1) AC代码如下:编译环境:netbeans6.7(G++)#include using namesp原创 2009-11-24 15:21:00 · 1382 阅读 · 0 评论