POJ推荐50题

校集训队的必做北大50题,必须完成才有资格申请加入集训队,拼了!


POJ推荐50题 —— 参加06年BUPT ACM暑假集训前要求完成
 
 
 
POJ == 北京大学ACM在线评测系统 http://acm.pku.edu.cn/JudgeOnline
 
 
 
1. 标记 难 和 稍难的题目大家可以看看,思考一下,不做要求,当然有能力的同学可以直接切掉。
 
2. 标记为 A and B 的题目是比较相似的题目,建议大家两个一起做,可以对比总结,且二者算作一个题目。
 
3. 列表中大约有70个题目。大家选做其中的50道,且每类题目有最低数量限制。
 
4. 这里不少题目在 BUPT ACM FTP 上面都有代码,请大家合理利用资源。
 
5. 50个题目要求每个题目都要写总结,养成良好的习惯。
 
6. 这50道题的规定是我们的建议,如果大家有自己的想法请与我们 Email 联系。
 
7. 建议使用 C++ 的同学在 POJ 上用 G++ 提交。
 
8. 形成自己编写代码的风格,至少看上去美观,思路清晰(好的代码可以很清楚反映出解题思路)。
 
9. 这个列表的目的在于让大家对各个方面的算法有个了解,也许要求有些苛刻,教条,请大家谅解,这些是我们这些年的经验总结,所以也请
 
大家尊重我们的劳动成果。
 
10. 提交要求:一个总文件夹名为 bupt0xx (即你的比赛帐号), 这个文件夹内有各个题目类别的子目录(文件夹),将相应的解题报告放入对应
 
类别的文件夹。在本学期期末,小学期开始前,将该文件夹的压缩包发至 buptacm@gmail.com 。
 
对于每个题目只要求一个 POJxxxx.cpp 或 POJxxxx.java (xxxx表示POJ该题题号) 的文件,注意不要加入整个 project 。
 
11. 如果有同学很早做完了要求的题目,请尽快和我们联系,我们将指导下一步的训练。
 
 
 
下面是一个解题报告的范例:
 
例如:POJ1000.cpp
 
 
 
//考查点:会不会编程序。
 
//思路:此题要求输入两个数, 输出两个数的和,我用 scanf 和 printf。
 
//提交情况:Wrong Answer 1次,忘了写 printf()。
 
           Compile Error 2次,选错了语言,由于C++ 和 G++ 在 iostream.h 的不用引用方法;少一个大括号。
 
Accepted 1次。
 
//收获:学到了 scanf, printf 的基本用法,熟悉了 OJ 的系统环境。
 
//经验: 写好代码后本地编译 而且需要静态 观察,杜绝编译错误。
 
// AC Code
 
#include <stdio.h>
 
int main() {
 
int a,b;
 
scanf("%d%d",&a,&b);
 
printf("%d/n",a+b);
 
return 0;
 
}
 
 
 
第一类 动态规划 (至少6题,2479 and 2593必做)
 
2479 and 2593
 
1015
 
1042 (也可贪心)
 
1141
 
1050
 
1080
 
1221
 
1260
 
2411 (稍难)
 
1276
 
 
 
第二类 搜索 (至少4题)
 
1011
 
1033
 
1129
 
2049
 
2056
 
2488
 
2492 (稍难,也可并查集)
 
 
 
第三类 贪心 (至少2题)
 
1065
 
2054 (难)
 
1521
 
2709
 
 
 
第四类 最短路 (至少3题)
 
1062
 
1125
 
1797
 
2253
 
2679 Bellman-Ford (难)
 
 
 
第五类 最小生成树 (至少2题, 而且 Prim 和 Kruskal 至少各用一次)
 
1251
 
1258
 
1789
 
2485
 
 
 
第六类 最大流 (至少2题)
 
1087
 
1459
 
1149
 
2516 (最小费用最大流) (难)
 
 
 
第七类 二分图 (至少3题)
 
1325
 
1469
 
2195 (KM 算法或最小费用最大流) (难)
 
2446
 
1422 and 2594
 
 
 
第八类 并查集 (至少2题)
 
1861
 
1182 (难)
 
1308
 
2524
 
 
 
第九类 快速查找 (B-Search, Hash and so on) (至少3题)
 
2503
 
2513 (+Euler回路的判定)
 
1035
 
1200
 
2002
 
 
 
第十类 数论 (至少2题)
 
1061
 
1142
 
2262
 
2407
 
1811(难)
 
2447 (难)
 
 
 
第十一类 线段树 (无最少题数要求)
 
2352 (可用简单方法)
 
2528
 
 
 
第十二类 计算几何 (至少2题,1113凸包算法必做)
 
1113
 
1292
 
2148 (难)
 
2653
 
1584
 
 
 
第十三类 高精度 (至少3题,1001必做)
 
1001
 
1047
 
1131
 
1503
 
1504
 
1060 and 1996 (多项式)
 
SCU1002, 1003, 1004 (http://acm.scu.edu.cn/soj)
 
 
 
第十四类 模拟 (至少5题)
 
1029 and 1013
 
1083 and 2028
 
2234 and 1067
 
1012
 
1026
 
1068
 
1120
 
2271
 
2632
 
 
 
第十五类 数学 (至少4题)
 
2249
 
1023
 
2506
 
1079
 
1019 and 1095
 
1905 and 1064 (二分)
  
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
报告:Fence 目来源:POJ 1031 解法或类型: 计算几何 作者:杨清玄 Fence Time Limit:1S Memory Limit:1000K Total Submit:103 Accepted:26 Description There is an area bounded by a fence on some flat field. The fence has the height h and in the plane projection it has a form of a closed polygonal line (without self-intersections), which is specified by Cartesian coordinates (Xi, Yi) of its N vertices. At the point with coordinates (0, 0) a lamp stands on the field. The lamp may be located either outside or inside the fence, but not on its side as it is shown in the following sample pictures (parts shown in a thin line are not illuminated by the lamp): The fence is perfectly black, i.e. it is neither reflecting, nor diffusing, nor letting the light through. Research and experiments showed that the following law expresses the intensity of light falling on an arbitrary illuminated point of this fence: I0=k/r where k is a known constant value not depending on the point in question, r is the distance between this point and the lamp in the plane projection. The illumination of an infinitesimal narrow vertical board with the width dl and the height h is dI=I0*|cosα|*dl*h where I0 is the intensity of light on that board of the fence, α is the angle in the plane projection between the normal to the side of the fence at this point and the direction to the lamp. You are to write a program that will find the total illumination of the fence that is defined as the sum of illuminations of all its illuminated boards. Input The first line of the input file contains the numbers k, h and N, separated by spaces. k and h are real constants. N (3 <= N <= 100) is the number of vertices of the fence. Then N lines follow, every line contains two real numbers Xi and Yi, separated by a space. Output Write to the output file the total illumination of the fence rounded to the second digit after the decimal point. Sample Input 0.5 1.7 3 1.0 3.0 2.0 -1.0 -4.0 -1.0 Sample Output 5.34 Source Northeastern Europe 1998 解思路: 本是一道计算几何的目。首先,由于目可以得到dI=I0*|cosα|*dl*h 也就是说一条边的总照度为 = = =a*h*k 其中下,X1,X2为一条边的坐右端点,a为这条边对原点所张的角度 所以实际上本是要求整个FENCE区域对原点所张开的总角度, 定义FENCE为一有向回路 那么每条边都是有向的。。如果按照边的方向对原点所张开的角度为顺时针。那么定义为正。逆时针为负。并且每输入一条边就把本边对原点张开的角度计算进去加到一个数里去 那么对于包含原点的区域。这个数应该为正负2 ; 对于不包含原点的区域,这个数在按边过程中的最大值-最小值就是这个区域对原点所张开的角度。 还有一种情况,那就是区域不包含原点,但是总共张开的角度大于2 ,那么只要计算为2 即可因为原点对任何区域最多只能张开2 。 数据结构: 用一个POINT数组来储存点的位置 时空分析: 如果有N个点 那么空间复杂度为O(N) 时间复杂度为O(N) 源程序: fence.cpp
报告:Fence 目来源:POJ 1031 解法或类型: 计算几何 作者:杨清玄 Fence Time Limit:1S Memory Limit:1000K Total Submit:103 Accepted:26 Description There is an area bounded by a fence on some flat field. The fence has the height h and in the plane projection it has a form of a closed polygonal line (without self-intersections), which is specified by Cartesian coordinates (Xi, Yi) of its N vertices. At the point with coordinates (0, 0) a lamp stands on the field. The lamp may be located either outside or inside the fence, but not on its side as it is shown in the following sample pictures (parts shown in a thin line are not illuminated by the lamp): The fence is perfectly black, i.e. it is neither reflecting, nor diffusing, nor letting the light through. Research and experiments showed that the following law expresses the intensity of light falling on an arbitrary illuminated point of this fence: I0=k/r where k is a known constant value not depending on the point in question, r is the distance between this point and the lamp in the plane projection. The illumination of an infinitesimal narrow vertical board with the width dl and the height h is dI=I0*|cosα|*dl*h where I0 is the intensity of light on that board of the fence, α is the angle in the plane projection between the normal to the side of the fence at this point and the direction to the lamp. You are to write a program that will find the total illumination of the fence that is defined as the sum of illuminations of all its illuminated boards. Input The first line of the input file contains the numbers k, h and N, separated by spaces. k and h are real constants. N (3 <= N <= 100) is the number of vertices of the fence. Then N lines follow, every line contains two real numbers Xi and Yi, separated by a space. Output Write to the output file the total illumination of the fence rounded to the second digit after the decimal point. Sample Input 0.5 1.7 3 1.0 3.0 2.0 -1.0 -4.0 -1.0 Sample Output 5.34 Source Northeastern Eu

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值