06 2013 档案
摘要:解题报告:给若干个居民的年龄排序,年龄的范围在1到100之间,输入的总人数在0到200W。这题要注意的输入的文件约有25MB,而内存限制为2MB,所以如果人数是像200W这样多的话,甚至都不能把它们都读入内存,所以就不能用快速排序等各种排序,只能通过标记来进行排序,这题很明显的一个特征就是要排序的数...
阅读全文
摘要:解题报告:有一个从1、2、3、.......n的正整数数列,现在要通过若干次操作将这个数列全部变为0,操作的方法是每次选取任意1个或多个任意位置的数,然后将这几个数同时减去一个一个数。问至少要经过多少次操作才能让数列全部变为0.这题一看就有点DP的风格。举一个例子,1、2、3、4、5,对于这五个数,...
阅读全文
摘要:解题报告:麻将的规则这里就不说了,这题我们可以用暴力的方法,所以我们应该这样枚举,即将34张牌的每一张牌都放到原来的十三张牌里面去,所以这时我们只要判断这十四张牌能不能胡,因为若要胡的话一定要有一个对子,所以这个时候我们应该枚举到底用哪一种牌作为对子,不过还要先判断这种牌的数量是不是大于2,如果大于...
阅读全文
摘要:解题报告:有n(1 2 #include 3 #include 4 5 using namespace std; 6 char map[4][6][50]; 7 int kase[24][6]={ 8 {2,1,5,0,4,3},{2,0,1,4,5,3},{2,4,0,5,1,3},{2,5,4...
阅读全文
摘要:解题报告:题目大意有一个N×N的矩阵,矩阵中的元素只有1或0,如果说对于一个矩阵,它的所有的点的上下左右的点的和是偶数,则称这个矩阵为偶数矩阵,现在给你一个任意的矩阵,要求的是如果要把这个矩阵变成偶数矩阵的话,最少需要将多少个点由1变成0,若不存在话,输出-1.(N 2 #include 3 #in...
阅读全文
摘要:你有没有这样的困扰,手机买来的时候就装了很多自己不可能用到的一些应用,对于一些手机内存较小的童鞋来说更是烦恼,这些应用不仅不会用到,而且占了大量的本来就不多的 内存,很是烦人,但是用普通的方法又卸载不了,想装点自己要用的软件都不行.下面我就给大家介绍一种删除这种软件的方法.一. 第一步我们需要获取...
阅读全文
摘要:题目大意:在一个周长为10000的圆环上原来有n个平均分布的点,现在要在这个圆环上再增加m个点,并且任然要使这n+m个点均匀分布,所以就要将原来的n个点的位置做一定的移动,以将新来的m个点放进去,现在要求的是,为了把这m个点放进去,要将原来的点移动的距离的和的最小值是多少?解题报告:,如图,列举了三...
阅读全文
摘要:题目大意:还是汉诺塔的变种,改变的规则是有四根柱子,n个盘子,问一共要移动多少次?解题报告:有规律,但是没搞懂怎么来的,规律是:dp[1]=1;dp[2]=dp[1]+2, dp[3]=dp[2]+2; (2个式子加2)dp[4]=dp[3]+4,dp[5]=dp[4]+4, dp[6]=dp[5]+4; (3个式子加4).................... 1 #include<cstdio> 2 int dp[70],p[70]; 3 void dabiao() { 4 dp[1]=1; 5 int i=2,c=2,flag=2; 6 while(i<=64) ...
阅读全文
摘要:题目大意:给出一个日期,求出在这个日期的18年后一共经过了多少天,如果给的这个日期是闰年的2月29号,则输出-1.解题报告:一个恶心的模拟题,要注意如果第一年是闰年的话,就要判断月份是大于2还是小于等于2,另外还要判断最后一年是不是闰年,如果是闰年,又要判断月份是不是大于2 1 #include<cstdio> 2 int judge(int y) { 3 if((y%4==0&&y%100!=0)||y%400==0) 4 return 366; 5 else return 365; 6 } 7 int main() { 8 int Y,M,D,T; 9 ...
阅读全文
摘要:题目大意:如图,给定途中p1,p2,p3的点的 坐标,求阴影部分的面积。解题报告:分别解出抛物线和直线的方程,然后对(a*x^2+b*x+c)-kx-m积分,范围是p2到p3,公式看代码。 1 #include 2 #include 3 int main( ) { 4 int T; 5 ...
阅读全文
摘要:题目大意:Gardon有N种糖果,他吃糖果的时候有一个癖好,就是,当吃完一种糖果之后,下次一定要吃另一种糖果,输入每种糖果的数量,问他是否能将这些糖果吃完。解题报告:其实一开始就想到应该判断糖果数量最大的那种糖果和总的糖果数量满足这种关系: (sum-max)>=(max-1),但交上去之后WA了,...
阅读全文
摘要:题目大意:定义一种新的斐波那契数,f[0]=7%3,f[1]=11%3,f[n]=(f[n-1]%3+f[n-2]%3)%3,现在输入一个n ,判断f[n]能否被3整除。解题报告:简单数学题,直接判断if(n%8==2||n%3==6)就可以了,是就输出yes,否则输出no . 1 #include<cstdio> 2 int main ( ) { 3 int n; 4 while(scanf("%d",&n)!=EOF) { 5 if(n%8==2||n%8==6) 6 printf("yes\n"); 7 else pri...
阅读全文
摘要:题目大意:有n 个人围坐在一个圆桌旁,每个人手中有一定数量的金币,金币的总数能够被n整除,现在每个人可以给自己旁边的两个人传递金币,要使得每个人手中的金币数相同,问最少要经过多少次的传递,假设每次只能给一个金币。解题报告:感觉这题就是一道纯粹的数学题,代数思想很重要。我们可以假设x2是第二个人给第一个人的金币的数量,注意这里若x2是整数,表示第二个人给第一个人金币,若x2是负数,则表示第一个人给第二个人金币,同理x3表示第三个人给第二个人的金币数量,由于桌子是圆的,所以x1就表示第1个人给第n个的金币数量。假设第i个人他一开始手上有Ai个金币,他给了i-1个人xi个金币,然后i+1个人又给了他
阅读全文
摘要:题目大意:有n个士兵,你要给他们没人分配一项任务,对于第i个士兵,你向他描述这个任务需要Bi时间,他完成这个任务需要Ji时间,你描述完了之后他可以独立去完成这个任务,但你一次只能给一个人描述任务,问执行完这n个任务一共需要多少时间。解题报告:这题利用了贪心的思想,首先我们应该确定应该以什么样的顺序来...
阅读全文
摘要:题目大意:你的王国里有一条有n个头的恶龙,你希望雇一些骑士来把它杀死(即砍掉所有的头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙所有的头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。输出最少的...
阅读全文
摘要:为了使我们的程序看起来更加人性化,有时候我们需要加入一些声音,所以这里介绍一种播放声音的函数PlaySound的用法。首先我们要做的就是将头文件#include "MMSystem.h"包含进来。第二步,就是动态链接#pragma comment(lib, "Winmm.lib"),包含了这两句之后就可以使用PlaySound 函数了,这个函数一共有三个参数,第一个参数是要播放的声音文件的位置和名称,也就是文件的指针,第二个参数是HMODULE,播放声音的标志,详细的就不介绍了,直接传NULL给它就行,第三个参数的播放声音的方式,比如说SND_ASYNC
阅读全文

浙公网安备 33010602011771号