挑战程序设计竞赛
文章平均质量分 77
编码思考
这个作者很懒,什么都没留下…
展开
-
[挑战程序设计竞赛] POJ 2718 - Smallest Difference
题意:给定0~9之间的一些不重复的数字,把这些数字任意组合成两部分,求两部分数字的差的最小值。(注意不能有前导0~)仔细想了一下发现:当给定数字个数为奇数时,两部分的个数应该是差一位的。当给定数字个数为偶数时,两部分的个数应该是相等的。用DFS做了一下,结果提交后TLE了,然后想了一下,发现输入的数字的个数为10的时候,结果只有一种~于是特判数字个数为10的时候,直原创 2014-11-28 15:43:52 · 1018 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 2376 - Cleaning Shifts
结构体排序 + 贪心#include #include #include #include #include #include #include #include #include #include #include #include typedef long long LL;const int INF = 500000001;const double EPS =原创 2014-12-09 12:50:22 · 741 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 1862 - Stripies
题意:有N堆菌落,每堆菌落都有自己的重量,现给定两堆菌落合并后的重量为2*sqrt(m1*m2),求全部合并后最小的重量。由合并公式可以看出,最开始合并的一定是两个最大的菌落,又可以根据2*sqrt(m1*m2)结果一定大于 min(m1, m2)。所以就不需要用优先队列来维护最大的权值了,直接从小到大排序后倒着挨个合并即可。。#include #include #includ原创 2014-12-19 15:00:03 · 880 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3040 - Allowance
题意:给定N,C分别代表面值的种类 和 每周至少要发的钱数。接着输入N行面值 和 对应面值的个数。问给定这些钱最多能发多少周?思路:1、当对应面值 >= C时,不需要贪心,直接计算即可。2、当对应面值 3、第二步结束后,显然能不浪费的面值都已经拿完了,如果当前贪心的结果val C的面值。重复上述步骤即可。。#include #include #includ原创 2014-12-19 11:56:22 · 813 阅读 · 0 评论 -
[挑战程序设计竞赛] AOJ 0525 - Osenbei
题意:有一个烤饼器可以烤r行c列的煎饼,煎饼可以正面朝上(用1表示)也可以背面朝上(用0表示)。一次可将同一行或同一列的煎饼全部翻转。现在需要把尽可能多的煎饼翻成正面朝上,问最多能使多少煎饼正面朝上?输入:多组输入,每组第一行为二整数r, c (1 4),剩下r行c列表示煎饼初始状态。r=c=0表示输入结束。输出:对于每组输入,输出最多能使多少煎饼正面朝上。 题原创 2014-12-02 12:34:36 · 1223 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3050 - Hopscotch
题意:给定5x5的矩阵。矩阵中的每个点都可以作为起点,每个点可以跳到附近上、下、左、右四个位置。问:执行6次操作,可以组合出多少种不同的序列?DFS简单题~ 把每次搜到的结果存到set容器内,最后输出set元素个数即可。#include #include #include #include #include #include #include #include #i原创 2014-11-29 23:42:50 · 844 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3187 - Backward Digit Sums
题意:给定数字N和Sum。求由1~N的组合成的序列按题目的方式求和等于Sum。如果解有很多,输出字典序最小的那个。题目保证输入数据一定有解。不多说啦,DFS裸题,然后用类似杨辉三角的方式求和即可。。之前用队列模拟的求和。。结果TLE了。。然后改成二维数组方式求和了。。#include #include #include #include #include #include原创 2014-11-29 22:41:24 · 703 阅读 · 0 评论 -
[挑战程序设计竞赛] AOJ 0121 - Seven Puzzle
题意:7数码问题。在2×4的棋盘上,摆有7个棋子,每个棋子上标有1至7的某一数字,不同棋子上标的数字不相同。棋盘上还有一个空格(用0表示),与空格相邻(上下左右)的棋子可以移到空格中,该棋子原先位置成为空格。给出一个初始状态(保证可以转移到最终状态),找出一种从初始状态转变成给定最终状态的移动棋子步数最少的移动步骤。输入:多组输入,每组8个数,表示初始状态前四个数为第一行从左到右,后四个数原创 2014-11-28 18:38:04 · 1112 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3253 - Fence Repair
哈夫曼树裸题,用优先队列做的。。#include #include #include #include #include #include #include #include #include #include #include #include typedef long long LL;const int INF = 500000001;const double原创 2014-11-24 16:09:04 · 915 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3069 - Saruman's Army
模拟题,当时写的比较挫,界限原创 2014-11-24 15:26:39 · 851 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3009 - Curling 2.0
题目大意:给定起点和终点的位置,从起点开始朝一个方向扔石头,当石头碰到一个方块,会停止在方块的前一个位置,并且这个方块会消失。当石头在一个方向上没有碰到任何方块,石头会飞到Board外,则游戏失败。求出从起点开始扔石头,是否能在10次以内碰到终点的位置。能则输出最少的次数,不能则输出-1。由于题目只询问10次以内是否能碰到终点的位置。那DFS的复杂度就没有多大了。。直接原创 2014-11-27 16:08:08 · 781 阅读 · 0 评论 -
[挑战程序设计竞赛] AOJ 0033 - Ball
题意是枚举十位数的左右组合顺序原创 2014-11-25 13:51:47 · 952 阅读 · 0 评论 -
[挑战程序设计竞赛] AOJ 0558 - Cheese
在H * W的地图上有N个奶酪工厂,每个工厂分别生产硬度为1-N的奶酪。有一只老鼠准备从出发点吃遍每一个工厂的奶酪。老鼠有一个体力值,初始时为1,每吃一个工厂的奶酪体力值增加1(每个工厂只能吃一次),且老鼠只能吃硬度不大于当前体力值的奶酪。老鼠从当前格到上下左右相邻的无障碍物的格需要时间1单位,有障碍物的格不能走。走到工厂上时即可吃到该工厂的奶酪,吃奶酪时间不计。问吃遍所有奶酪最少用时原创 2014-11-27 20:18:20 · 912 阅读 · 1 评论 -
[挑战程序设计竞赛] POJ 3699 - Meteor Shower
题意:给定M个坐标上会在T秒时掉落一颗陨石,人最初在坐标(0,0),人在当前坐标每走到四周的格子需要花费时间1秒。问这个人至少需要多少秒才能到达安全地带?(人可以在第一象限随便走~)BFS的过程中判断人是否被陨石碰到,碰到的地方就不能继续往下搜了,还有如果在坐标(0,0)第0秒有陨石掉落,人直接就被砸到了。。要输出-1。#include #include #includ原创 2014-11-28 15:31:58 · 1012 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 1328 - Radar Installation
题意:给定很多个岛屿的坐标,然后在X轴上安装雷达,问把覆盖到所有岛屿最少需要几个雷达。不能覆盖到所有岛屿则输出“-1”。根据题意,可以将每个岛屿的坐标转化成在X轴安装雷达的区间。如果有一个岛屿的纵坐标 > d 则一定输出“-1”,否则就有解。直接把转化完的区间按区间结束位置从小到大排序。随后贪心即可解决。#include #include #include #include原创 2014-12-09 20:27:27 · 628 阅读 · 0 评论