自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XD

为了将来,拼了!~

  • 博客(18)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 北大ACM2785——4 Values whose Sum is 0~~双向搜索

题目的意思很明确,ABCD四个集合,从各个集合中抽取一个数,求将四个数相加等于0的组合数。由于N最大达到4000,所以,暴力的方法过不了,就是时间限制为15000MS也是不行。不过我们可以双向搜索,也就是折半搜索。先求出CD这两个集合的两两配对的新的集合CD,然后在从CD集合中找AB集合两两配对的和k的负数有多少个。用upper_bound和lower_bound函数可以很快的求解出来

2015-06-30 15:56:55 741

原创 北大ACM3624——Charm Bracelet

这题,简单的01背包问题。下面的是AC的代码:#include #include using namespace std;int dp[13500];int n, m;class data{public: int w, d;};data Data[3500];int max(int x, int y){ return x > y ? x : y;}int

2015-06-30 15:24:03 786

原创 北大ACM3684——Physics Experiment

这题,题目的意思是,有N个球从高度为H的地方落下,每一秒落下一个球,球与球之间和球与地板直接都是弹性碰撞,求T秒后的每个球的位置,也就是高度。这题,跟Ants那题类似,也就是球与球碰撞可以当作不转换方向,继续按照原来的方向。也就是R = 0的时候,忽略半径,算出每一个球的位置,每一个球与地板碰撞后,会上升到原来的高度。先算出一次掉落需要t = sqrt(2 * H / g);每个球总共的时间T

2015-06-30 14:51:57 525

原创 杭电ACM1098——Ignatius's puzzle

这题,简单的数学题。对于函数,f(x)=5*x^13+13*x^5+k*a*x,输入k,对于任意的x,是否存在一个数a,使得f(x)被65整除。对于任意的x。所以当x = 1时,f(x) = 18 + a* k,满足被65整除。也就是(18 + a * k)% 65 = 0。所以,一切都很简单了。下面的是AC的代码:#include using namespace s

2015-06-28 23:26:21 819

原创 杭电ACM1297——Children’s Queue~~大数相加的应用

题目的意思很明确,不能单独有一个女生站一起。假设有N个人。1.最后一个人是男生,则有F(N - 1)。2.最后一个人是女生,则第N - 1也是女生,则有F(N - 1)。但还有一种就是,第N - 2个是女生,(是男生的话,包含在F(N - 1)中),但是第N - 3 个是男生,则不包含在上面的情况中,但是也是符合的。也就是最后三个是女生,倒数第四个是男生。也就是还有F(N - 4)

2015-06-28 16:07:48 1171

原创 杭电ACM1197——Specialized Four-Digit Numbers

题目的意思是从2992开始的四位数,每一个四位数的10,12,16进制的数的每一位加起来都相等,就输出该数。很简单的一道题目。下面的是AC的代码:#include using namespace std;int main(){ int i, j, k, n, m; for(i = 2992; i < 10000; i++) { n = 0

2015-06-27 10:08:06 713

原创 杭电ACM1129——Do the Untwist~~解密 密文

如题目的意思:"_"对应的是0,"a"对应的是1,以此类推,"."对应的是27。给你k,ciphercode[i] = (plaincode[ki mod n] - i) mod 28. ciphercode是密文,plaincode是明文。ki为k * i。k * i mod n为明文的第几个。n为字符串的长度给你密文,求出明文是什么。可以用枚举来求明文。简单暴力就可以过了。

2015-06-17 17:55:45 1385

原创 杭电ACM1130——How Many Tree?~~Catalan数

Catalan数的递推公式为:F(n)= F(n - 1) * (4*n - 2)/ (n + 1);由于n最大为100;所以需要用数组来存放每一个Catalan数。需要运用大数的运算。下面的是AC 的代码:# include struct catalan{ int length; int len[100];};struct catalan a[101];int ma

2015-06-17 16:31:00 799

原创 杭电ACM1220——Cube~~简单的数学题

题目的意思是给你一个立方体的棱长 n ,将这个立方体分解成单位长度为1的小立方体。问这个大立方体分解之后的n * n * n个小立方体中有多少对小立方体的公共点不超过2个。立方体分解之后,只会出现 0, 1, 2, 4个公共点的情况,所以算出所以的对数,然后减去4个公共点的情况就可以解决了。关键是4个公共点的情况有多少对?首先是有3个面没有露出来,总共只有8个,也就是那8个顶点

2015-06-17 16:00:42 1183

原创 杭电ACM1216——Assistance Required~~筛选法的应用

这题,一开始以为是第几个素数,后来打表之后查了一下,发现不是。再看看题目,才知道是简单的筛选法。每一个筛选留下来的数n,n往后的所以数,能被n整除的除去,不能的留下,筛选出3000个数出来就OK了。下面的是AC的代码:#include #include using namespace std;int num[50000];int a[3005];int main()

2015-06-16 23:23:39 970

原创 杭电ACM1211——RSA

这题,类似密文解密的题目。题目的意思讲的很清楚。给你p q e l,l为第二行的数字的个数。先算出n和fn,在算出d。n = p * q;fn = (p - 1)* (q - 1)。再根据d * e % fn = 1,算出d。最关键的是求c。给你的数num 要等于c ^ d % n。c 对应的ASCLL码就是解密之后的字符。下面的是AC的代码:#include usi

2015-06-16 15:04:27 1308

原创 杭电ACM1240——Asteroids!~~简单的BFS

这道题目,三维空间上的BFS,给你起点和终点,看能否找到一条路,O表示可以走,X表示不可以走!~理解了题目,就可以用队列来实现BFS来求解。下面的是AC 的代码:#include #include #include #include using namespace std;class data{public: int xyz; int count;};cha

2015-06-15 23:46:03 823

原创 北大ACM1007——DNA Sorting

简单的题目,如题:找出字符串中的反转次数。按反转次数从小到大输出。反转次数,就是字符串中的每一个跟它后面的每一个字符比较,比后面的大的,次数+1.下面的是AC的代码:#include #include #include #include using namespace std;class data{public: char str[55]; int count;}

2015-06-14 10:28:19 1324

原创 北大ACM1006——Biorhythms~~中国剩余定理

中国剩余定理,百度一下,就有它的定义与证明。这里我就讲一个例子就好了。题目的意思就是给你p,e,i,d。(n + d)% 23 = p,(n + d) % 28 = e,(n + d) % 33 = i。求最小n。将n+d看成一个整体,m =n + d。要求m:先使 28 * 33 * a % 23 = 1,求出a,x = 28 * 33 * a;使 23 * 33 * b

2015-06-14 09:39:44 1296

原创 杭电ACM1301——Jungle Roads~~最小生成树

这题,简单的最小生成树问题。只是输入的时候比较麻烦,一开始的N,是村庄的个数,下面N - 1 条信息,一开始的大写字母S和数K,是S村庄有K条路连接,后面是K个村庄以及权值。处理好了输入的数据,就很简单了。下面的是AC的代码:#include #include #include #include using namespace std;class data{publ

2015-06-11 23:33:02 832

原创 杭电ACM1407——测试你是否和LTC水平一样高

简单的题目,暴力过。下面的是AC的代码:#include using namespace std;int main(){ int i, j, k, num; int flag; while(cin >> num) { flag = 0; for(i = 1; i < 100; i++) {

2015-06-10 15:16:22 766

原创 杭电ACM1408——盐水的故事

简单的题目,RT,就可以写出代码.需要注意的是类型的应用,应该用浮点型。下面的是AC的代码:#include using namespace std;int main(){ double VUL, D; int time, i, flag; while(cin >> VUL >> D) { time = 0; i = 1;

2015-06-10 15:14:58 2113 1

原创 杭电ACM1412——{A} + {B}

简单的set容器的应用。用set容器可以过。下面是AC的代码:#include #include using namespace std;int main(){ set S; int m, n, a; set::iterator ite; while(cin >> m >> n) { S.clear(); f

2015-06-10 15:12:47 701

SkinH_VC。rar

VC换肤库,可以让你的界面焕然一新。支持各种环境,各种开发工具

2015-04-26

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除