自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员充电站(itcharge)

高效率编程,慢节奏生活。

  • 博客(76)
  • 资源 (3)
  • 收藏
  • 关注

原创 HDU2502 月之数【水题】【规律】

题目大意:给你一个N,求N位的全部二进制数中的所有1有多少个。思路:考虑3和4。N为的全部二进制数总共有x = 2^(N-1)个。第1竖列总共有x个1,之后的第2~N竖列总共有x/2个1。所以结果ans = x + (N-1)*x/2。参考讨论区。N = 3: N = 4:100 1000101 1001110 1010111 1011

2015-01-31 14:28:38 914

原创 HDU2401 Baskets of Gold Coins【水题】【推理】

题目大意:有N个篮子,编号为1~N,篮子理由很多金币,只有一个篮子中每个金币中w-d,其他篮子中每个金币都重w。现在从第1个篮子里拿1个金币,从第2个篮子里拿2个金币,…,一直到到第N-1个篮子里拿N-1个金币。第N个篮子不拿。给出这些金币的全部重量和all,问:第几个篮子里的金币是轻的,求出轻金币的个数。思路:数学题,1~N个篮子里金币应有的总重量为:(N-1)*N/2*w,减去这些金币的全部重量和all,得到总的轻金币比普通金币差的重量,每个轻金币和普通金币差的重量为d,两者相除,得出轻金币

2015-01-31 13:35:55 1951

原创 HDU2317 Nasty Hacks【水题】

题目大意:公司销售商品的时候在考虑做不做广告,给你不做广告的预期效益、做广告的预期效益和做广告的花销。为了效益问题,问:是否该做广告。做广告就输出"advertise",不做广告就输出"do not advertise",做不做都一样就输出"does not matter"。思路:计算不做广告的效益和左广告的效益-做广告的花销哪个高,然后根据情况输出不同结果。

2015-01-30 23:04:00 1135

原创 HDU2309 ICPC Score Totalizer Software【水题】

题目大意:N个裁判打分,去掉一个最高分和最低分,求最终的平均分。思路:先存入数组A[]中,然后排序好后,去掉第一个和最后一个。最后计算平均分。

2015-01-30 22:45:04 1137

原创 HDU2304 Electrical Outlets【水题】

题目大意:墙上有一个插口,给你N个插排,告诉你N个插排上的插孔di,问:最多能充几个电器。思路:每个插排想要插上去,就占用一个插孔,所以每次加di-1。最后一个上边没有插孔被占,是di个。

2015-01-30 22:28:31 1236

原创 HDU2212 DFS【水题】【打表】

题目大意:求范围 [1, 2147483647] 内,各个位上数字的阶乘和等于其本身的数。思路:先写一个程序,计算 [1, 2147483647] 上,每个数的各个位上数字的阶乘和,找到等于其本身的数,将其输出出来,然后打表就可以了。

2015-01-30 22:09:50 1666 1

原创 HDU2201 熊猫阿波的故事【水题】【概率】

题目大意:如上。有N个座位,第一个上去随意找位子坐。然后上去M个人,这M个人也随意找位子坐,问第M个人坐到自己位子上的概率为多少。思路:因为算上第1个人所有人都是随意坐,那么第M个人坐到正确位子上的概率和第1个人坐到正确位子上的概率一样,都是1/N。

2015-01-30 21:58:36 1082

原创 HDU2186 悼念512汶川大地震遇难同胞——一定要记住我爱你【水题】

题目大意:模拟题,给你N个人,分为三个队,第一队是全部人的1/2,第二队是剩下人的2/3,第三队是最后剩下的人。现在给每个队配备向导。每10个人配1个向导。不够10个的也配1个向导。问:总共需要配多少个向导。思路:第一队人数为N/2,第二队人数为(N-N/2)*2/3,第三队人数为(N-N/2)-(N-N/2)*2/3。然后开始配备向导,每对人数先加上9,然后除以10,就算出了各队向导数。因为如果是10的整数倍,除以10就没有任何影响,如果不是10的整数倍,那么除了满10个人配备1个向导外,剩下的

2015-01-30 19:05:57 1063

原创 HDU2178 猜数字【水题】【推理】

题目大意:有1~M的数字,最多猜N次一定能猜到1~M的任意数字,求M能达到的最大值。思路:用二分法在最多N次的时候找到任意1~M的任意数字,N是已知的,二分的范围是1~M,左边界为1,右边界为M,若想M最大,则尽量使取值向右边界靠。考虑N = 3,N = 4的情况。N = 3时,每次取值都在区间右边取值,第一次二分后区间[(1+M)/2,M],第二次二分后区间[((1+M)/2+1+M)/2,M],第三次二分后区间[(((1+M)/2+1+M)/2+1+M)/2,M],此时,左右区间等值,即(((

2015-01-30 11:11:38 1367

原创 HDU2164 Rock, Paper, or Scissors?【水题】

题目大意:两个人玩石头、剪刀、步,第一个人赢了输出"Player 1",第二个人赢了输出"Player 2",平手了就输出"TIE"。思路:用两个数计算他们两个人的次数,平了不计。谁赢得次数多算谁赢。相等就是平手。

2015-01-30 10:41:48 801

原创 HDU2156 分数矩阵【水题】【递推】

题目大意:给你一个定义的分数矩阵(如上所示),求它各项上的分数的和。思路:直接算太麻烦,找规律来解决。思考N=1,N=2,N=3的情况。1/1 1/1 1/2 1/1 1/2 1/3 1/2 1/1 1/2 1/1 1/2 1/3 1/2 1/1多了右下角的那一块。通过找规律发现:右下角都为1,除了1之外,是1/2 + 1/3 + … + 1/N的二倍。这样直接递推就可以了。用num来计算2倍的1/2 +

2015-01-30 10:23:15 1030

原创 HDU2153 仙人球的残影跑【水题】【蛇形矩阵】

题目大意:从左上角开始,顺时针蛇形递增输出1、2、3、…、N。思路:四重while循环,存储数字并判断是否出界。

2015-01-30 09:57:37 869

原创 HDU2148 Score【水题】

题目:给你两个数N、K,接下来是N个数,找出比第K个数大的数的个数。思路:数组存储N个数,再遍历一遍并计数。

2015-01-30 09:37:20 794

原创 HDU2143 box【水题】

题目大意:给你三个数A、B、C,通过+、-、*、/、%五种运算,判断三个数中的一个数是否等于其他两个数通过这五种运算中的任意一种得到。思路:暴力枚举一下。注意+和-、*和/各自只算+、*就可以了。还有,int范围不够,要用__int64

2015-01-30 09:23:55 1258

原创 HDU2139 Calculate the formula【水题】

题目大意:给你一个奇数N,求1~N中奇数的平方和。思路:直接暴力超时了,所以用公式来做 S = N*(N+1)*(N+2)/6,因为结果不超int型,但是中间过程会超一些,所以用__int64来做就可以了。注意cin、cout会超时,用scanf和printf就可以了。

2015-01-29 22:13:09 1207

原创 HDU2138 How many prime numbers【水题】

题目大意:给你N个数,判断N个数里素数的个数。思路:直接暴力来做。

2015-01-29 21:59:25 1079

原创 HDU2135 Rolling table【水题】

题目大意:给你一个N*N的字符矩阵,再给一个翻转次数M,翻转一次为90°,M为正表示顺时针翻转,M为负表示逆时针旋转。思路:将M对4取余,总共分四种情况,根据翻转情况输出相应结果。

2015-01-29 21:42:09 971

原创 POJ2186 Popular Cows【Kosaraju】【强连通分量】

题目大意:每头奶牛都希望自己成为最欢迎的那头牛。给你N头牛,M个崇拜关系(A,B)。意思是牛A崇拜牛B。特别是,如果牛A崇拜牛B,牛B崇拜牛C,那么牛A也崇拜牛C。那么问题来了:请计算出被所有牛崇拜的牛的个数。思路:刚学的Kosaraju算法。考虑这道题,把崇拜关系(A,B)看做是一条有向边,并且,我们发现牛的崇拜关系具有传递性。那么只要牛A有一条路径连向牛B,就可以判定牛A崇拜牛B。于是,被所有牛崇拜的牛就是所有的点都存在一条路径连向它的有向路径。下边简述下Kosaraju算法:(1)对原图

2015-01-29 19:42:25 1254

原创 HDU2133 What day is it【水题】

题目大意:给你一个日期,先判断日期是否合法,不合法输出"illegal",继续下组数据输入。合法的话,计算出该日期是周几,然后输出相应星期的英文单词。参考日期是2007年11月17日是星期六。思路:按2007年11月17日来算太过繁琐,因为公元0001年1月1日是星期一,这样递推算到要计算的日期就变简单了不少。统计从1年1月1日到给出日期的总天数是多少,因为只需要计算星期,所以只要对7取余的值即可。用了数组来保存每月天数和星期的单词,简洁了不少。

2015-01-29 09:16:49 1644 1

原创 HDU2132 An easy problem【水题】

题目大意:给了递推公式,如果当前i%3==0,则sum(i) = sum(i-1) + i*i*i;否则sum(i) = sum(i-1) + i。思路:因为数据略大一些,所以用__int64整型来存储结果。

2015-01-28 21:59:39 1610 4

原创 HDU2131 Probability【水题】

题目大意:输入一个字符ch和一个字符串s(无视大小写),求这个字符在字符串中出现的概率思路:用isupper函数判断字符ch和字符串s里的字符里是不是大写字母,如果是大写字母就全部转换为小写字母,判断并计算字符ch在字符串s里出现的次数,除以总字符就是概率。

2015-01-28 21:39:35 1337

原创 HDU2123 An easy problem【水题】

题目大意:给你一个数N,输出N*N的矩阵,每项为i*j。思路:两重for循环直接输出。

2015-01-28 21:25:21 991

原创 HDU2114 Calculate S(n)【数学】【水题】

题目大意:计算1~N的立方和思路:1~N的立方和公式为S(N) = 1^3 + 2^3 + 3^3 + … + N^3 = N^2*(N+1)^2/4。然后题目要求后四位,取余即可。

2015-01-28 21:17:37 1351

原创 POJ1734 Sightseeing trip【Floyd】【最小环】

题目大意:有个旅游公司要开发一条新的旅游路线,要求这条路尽可能短,但是又不能只包含两个城市,并且旅游途中不能回到之前去过的城市,只能去往下一个没去过的城市,旅游结束的时候要回到最开始的城市,要求求出整个旅游路线经过的城市。思路:给N个点,M条边建图。路程最短,且要形成环,其实就是求最小环问题。可以用Floyd来做。用Dist[i][j]存储从i到j的最短路径,但是 i != j,因为最少要有3个点(加上k至少3个点)。用pre[i][j]来表示从点i到点j的路径中j点前边的点。判定最小环时,点i到

2015-01-28 20:54:00 1124

原创 HDU2113 Secret Number【水题】

题目大意:求一个数各个位数上为偶数的和思路:注意输出格式。。。

2015-01-27 23:26:23 1268 2

原创 HDU2109 Fighting for HDU【水题】

题目大意:两个队PK,弱对弱,强对强,赢了得2分,平了得1分,输了木有分。输出最终得分对比。思路:。。。

2015-01-27 23:19:14 1513

原创 HDU2107 Founding of HDU【水题】

题目大意:求N个数的最大值。。。现在还做这么水的题我也是醉了

2015-01-27 23:09:18 796

原创 POJ3169 Layout【SPFA】【差分约束】

题目大意:奶牛喜欢站成一排吃饲料,有的奶牛喜欢靠在一起,他们最多距离D米远。有的奶牛不喜欢靠在一起,他们最少距离D米远才可以。给你一系列的约束条件,问:如果在上述条件下,奶牛站不成一排,则输出"-1",如果能站成一排,但是第1头牛~第N头牛的距离无限远,则输出"-2",如果满足条件,并且第1头牛~第N头牛之间存在实际距离,则输出第1头牛~到第N头牛之间的能达到的最远距离。思路:直接的差分约束系统,设牛u和牛v的位置为u和v。第1条:设牛u和牛v最多距离w米远,转换为:v - u <= w。第2

2015-01-27 22:54:59 1056

原创 HDU3440 House Man【SPFA】【差分约束】

题目大意:在一条直线上有N个房子,每个房子的高度不一样,一个超人可以将这N个房子左右移动,但是不能改变房子的相对位置。位置都为整数点。同一位置不能有两个以上的房子两个超人从最矮的房子开始,跳到刚好比他所在房子高的房子上去,一直这样跳,每次跳到的房子都比现在所在的房子高,而且每次跳的水平距离不能超过D米。问:如何将这些房子进行合理的摆放(不改变相对位置的前提下),使得超人能够经过所有的房子跳到最高的房子,又要使最矮的房子和最高的房子之间的距离最远?输入说明:第一行:先输入一个T,表示T组数据。

2015-01-27 20:23:50 1199

原创 HDU1534 Schedule Problem【SPFA】【差分约束】

题目大意:安排N个工作 ,给你N个工作的开始时间,共有4种安排方式(约束条件)。条件1:FAF a b,a要在b完成后完成。条件2:FAS a b,a在在b开始前完成。条件3:SAS a b,a要在b开始前开始。条件4:SAF a b,a要在b结束前开始。 给你一系列的约束条件。问:使其工作时间最小且满足所有约束条件的各个工作最早时间各是什么。如果不满足条件则输出"impossible"。思路:差分约束系统。设第i件工作的开始时间为t[i]。4个约束条件变成:条件1:FAF Sa + t[a

2015-01-27 14:27:02 1431

原创 POJ1201 HDU1384 Intervals【SPFA】【差分约束】

题目大意:给你N个整数点构成的区间[ai,bi](ai,bi都为整数),在区间[ai,bi]上最少选ci个点。ci可在区间[ai,bi]中随意取,但是不能重复。问:要满足在N个区间取点,至少要选多少个点。思路:差分约束思想。设Si为前i项的整数个数,则S(bi) - S(ai-1) >= ci。还有两个隐含约束条件S(i-1) - S(i) <= 0,S(i)-S(i-1) <= 1。把这三种约束构建一个差分约束系统,用SPFA求最短路径。

2015-01-26 23:52:33 1030

原创 POJ1364 HDU1531 King【SPFA】【差分约束】

题目大意:一个国王通过一个序列来做决定,他有几段段连续子序列的和的条件,知道各段子序列的和是大于还有小于某个数(这个数已知)。问:是否能找到这样的序列。转换一下,就是N个数组成一个序列,已知M段几个连续的数组成的子序列构成的不等式,求这几个不等式构成的不等式组是否有解。例如:序列{A1,A2,A3,A4,A5,…,An},有M个不等式,比如说:Ai + A(i+1) + A(i+2) + A(i+3) + A(i+4) + … + A(i+t) < Ki 或者是Ai + A(i+1) + A(i

2015-01-26 21:56:46 1040

原创 POJ 2449 Remmarguts' Date【SPFA】【A*】

题目大意:公主要求王子通过第k短的路径去找她。给出了N个点,M条单向边的图。也给出了起点s(王子所在的点)、终点t(公主所在的点)和k。问:K短路是多少。思路:第一次做K短路的题目。用的A*+SPFA来做的。下边简单说下这个算法。使用链式前向星存储图。安装下边步骤来做。(1)将有向图的所有边正向、反向分别存入两个不同的边集(Edges,Edges1)中。用反向边集,以所求终点t为源点,利用SPFA或Dijkstra求解出所有点到t的最短路径,用Dist[i]数组来表示点i到点t的最短距离。(2

2015-01-26 16:40:41 1374

原创 POJ2387 Til the Cows Come Home【Dijkstra】

题目大意:给你N个点,M条双向边,现在站在结点1上,问从结点1到结点N的最短路径为多少思路:求单源最短路径,这道题边权值范围为1~100,没有负边,直接用Dijkstra来做就可以了。不清楚是否有重边,这里我是做了处理。

2015-01-25 22:23:13 896

原创 POJ3615 Cow Hurdles【Floyd】

题目大意:John想为农场的奶牛举办跳高比赛。奶牛们现在都累了,它们想尽可能的用最少的能量完成跳高,因为跳过低点的障碍不是很困难,但是高点的障碍就非常困难,所以奶牛只关心它要越过的障碍的最高高度。现在给你N个点,编号为1~N,在N个点之间有M个障碍,给你M个障碍链接的点编号和障碍高度,判断T组从点A跳到点B,尽可能使障碍高度低的路径上最高障碍物高度是多少。思路:把障碍的高度看做是边,那么题目意思就是给你N个点,M个单向边。问点A到点B能达到的最长边尽可能短的路径上最长边为多少。类似于求多源最短路

2015-01-25 21:43:07 1132

原创 POJ1125 Stockbroker Grapevine【Floyd】

题目大意:有N个股票经济人,他们之间可以传递信息,但是他们只相信他们认为可靠的人的信息。现在由某个人开始传信息,怎么能在最短的时间内让所有人都接收到消息。这个时间取决于最后一个人收到信息的时间。如果没有一个人能使所有人都接收到信息,则输出"disjoint",否则,就输出最短的时间和这个人的编号。思路:可以看做是N个点,M条单向边。建立一个图,然后用Floyd求多源最短路径。之后,遍历所有的结点,找到符合要求的那个人编号。不存在就输出"disjoint"。

2015-01-25 21:03:33 934

原创 HDU1874 畅通工程续【Dijkstra】

题目大意:给你N个点,M条双向边。再给你起点s和终点t,求点s到点t的最短路径。思路:求一对顶点之间的最短路径。用Dijkstra算法来做。这道题需要注意的几点:(1)注意重边情况;(2)注意s == t的情况,输出为0;(3)标记k的时候,初始化千万不能标记成0~N-1。

2015-01-25 17:50:28 1005

原创 POJ1511 Invitation Cards【SPFA】

题目大意:给你N个结点和M条边。问:从结点1出发分别到2、3、4、…、N结点的路程以及从这些结点返回结点1的总路程和。思路:求源点到各结点的距离问题,用Bellman-Ford时间复杂度为O(N*M),这道题的数据规模是1000000,所以果断不行。我用了链式前向星(类似邻接表)存储图,因为要分别求出去时的最短总路程和回来时的最短总路程,所以用了二维的链式前向星,一个存正边,一个存反边,然后以结点1为起点,对正边做一次SPFA算法,再以结点1为起点,对反边做一次SPFA算法。看讨论区貌似有人用g

2015-01-25 11:03:14 1300

原创 HDU2103 Family planning【水题】

题目大意:小虎发明了一个计划生育方案:每对夫妇最多生M个孩子,超生的要罚款,但是在这M个孩子里,如果生了男孩,就不能再生了,否则超生的也要罚款。罚款的数额和超生个数有关,超生一个罚款10000元,超生第二个20000元,超生第三个40000元,每次都是上一个的2倍。现在给你一对父母生的孩子个数N和最多生孩子个数M,以及N个孩子的性别。求:她们要交多少钱的罚款。思路:先求M个孩子里有木有男孩,有的话,从下一个孩子开始算超生的罚款,没有的话,就从第M+1个孩子开始计算罚款。计算罚款的时候先按1、2、

2015-01-24 22:29:08 1892

原创 POJ2485 Highways【Prim】

题目大意:岛上要建高铁,有N个站点,给你一个图,表示这N个站点每个站点之间的距离,要求建造的高铁路线能连接所有的站点,并且使总的路程最短。求出满足情况的路线中两个站点间最长的路。思路:根据要求求出最小生成树,并求出最小生成树上的最大边,就是最终答案。

2015-01-24 20:55:35 1032

Flask Web开发

本书共分三部分,全面介绍如何基于 Python 微框架 Flask 进行 Web 开发。 第一部分: Flask 简介,介绍使用 Flask 框架及扩展开发 Web 程序的必备基础知识 ; 第二部分:给出一个实例,真正带领大家一步步开发完整的博客和社交应用 Flasky, 从而将前述知识融会贯,付诸实践。 第三部分:介绍了发布应用之前必须考虑的事项,如单元测试策略、性能分析技术、Flask 程序的部署方 式等。

2018-05-29

2014年北大ACM暑期培训资料、讲义

北京大学的ACM国际大学生程序设计竞赛(ACM/ICPC)水平在国内处于领先地位,自2005年至2013年每年均参加总决赛,名次分别为11(铜牌)、13、14、13、20、14、13,13,13,13。北京大学多次承担ACM/ICPC亚洲区预选赛命题,广获好评。近几年负责命题的赛区有:2008年北京赛区,2009年宁波赛区,2010年杭州赛区,2010年福州赛区,2011年北京赛区,2011年福州赛区,2012年金华赛区,2012年杭州赛区。2013年杭州赛区。均由此课程主讲教师郭炜负责命题。北京大学的Online Judge --- POJ 更是国内最有影响力的ACM/ICPC竞赛训练平台之一,在国际上也有较高知名度和较多用户。

2014-08-12

空空如也

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

TA关注的人

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