题目链接:uva 616 - Coconuts, Revisited
题目大意:题目背景和uva 10726是一样的,只是这道题目是给出n,表示椰子的个数,并且猴子的个数为1,问说是否能找到满足的人数,并且要求人数尽量大。
解题思路:枚举人数,然后根据uva 10726推出的公式去求出最后剩下的椰子是否满足平分等判断。
#include
#include
#inc...
分类:
其他好文 时间:
2014-07-22 23:05:55
阅读次数:
320
题目链接:uva 617 - Nonstop Travel
题目大意:...
分类:
其他好文 时间:
2014-07-22 23:05:53
阅读次数:
360
题目链接:1484 - Alice and Bob's Trip
题意:BOB和ALICE这对狗男女在一颗树上走,BOB先走,BOB要尽量使得总路径权和大,ALICE要小,但是有个条件,就是路径权值总和必须在[L,R]之间,求最终这条路径的权值。
思路:树形dp,dp[u]表示在u结点的权值,往下dfs的时候顺带记录下到根节点的权值总和,然后如果dp[v] + w + sum 在[l,r]内,...
分类:
其他好文 时间:
2014-07-22 23:05:33
阅读次数:
486
题目链接:10981 - String Morphing
题意:给定开始的字符串,要求根据表格变化成一个字符串,问变化的顺序(注意,不一定要最少步数)
思路:记忆化搜索,用map来存字符串的状态,一开始按最少步数去做TLE,其实只要找到一个符合的就可以了
代码:
#include
#include
#include
#include
#include
using namespac...
分类:
其他好文 时间:
2014-07-22 23:03:54
阅读次数:
293
题目链接:uva 278 - Chess
题目大意:给出一个n*m的棋盘,并且给出棋子的种类,问说在这个大小的棋盘上最多能放几个给定的棋子,棋子之间不能互相攻击。
解题思路:总共有4种棋子,那么就分类讨论。
马(骑士):
n或m为1的时候,肯定可以摆满,因为肯定不能互相攻击
n或者m为2时,这样放是最优的。
其他情况的或就是间隔放最优。
车:因为车的攻...
分类:
其他好文 时间:
2014-07-22 23:03:52
阅读次数:
290
用c语言实现
#include
#include
#include
using namespace std;
typedef struct node
{
char x;
struct node *next;
}chan;
chan *root = new chan;
char a[100010];
int main()
{
while(scanf("%...
分类:
编程语言 时间:
2014-04-29 13:47:20
阅读次数:
358
题目链接:617 - Nonstop Travel
题意:给定一些红绿灯,现在速度能在30-60km/h之内,求多少个速度满足一路不遇到红灯。
思路:暴力每一个速度,去判断可不可以,最后注意下输出格式即可
代码:
#include
#include
#include
const double esp = 1e-6;
int n, vis[105];
struct D {
do...
分类:
其他好文 时间:
2014-04-29 13:45:20
阅读次数:
333
题目链接:278 - Chess
题意:求出四种棋子最多放几个
思路:车能放行列的较小值,王隔着放,皇后根据八皇后问题可知,也是放行列最小值。
关键在于马,之前做过一题类似的,马分一行,两行,和两行以上考虑,一行就能全放,两行就隔一个田字格放,三行以上就每个马隔一个位置放。
代码:
#include
#include
#include
using namespace std;
i...
分类:
其他好文 时间:
2014-04-29 13:45:20
阅读次数:
381
UVA Airport Express
题意:在Iokh市机场快线分为经济线和商业线。线路和速度价格都不同。你只有一张商业线车票,即最多只能坐一站商业线,其他时候只能坐经济线。找出一条去机场最快的线路。
思路:因为商业线只能坐一站,假如乘坐一条商业线(a,b),那么起点到a,b到终点都必须是最短路。所以先预处理起点和终点到其他所有点的最短路,分别记为f()和g(),两次dijstra即...
分类:
Web程序 时间:
2014-04-29 13:33:21
阅读次数:
340
题目链接:618 - Doing Windows
题意:给定一个大小不能变的屏幕,和四个大小可以变的窗口,变化要保持长宽比,问这四个窗口能不能调整后全部放下正好填满屏幕,不能重叠
思路:情况一共就几种:4个叠一起,3个叠一起+一个,2个和2个,一个和两个叠一起在一个,把这几种情况全判断了就可以了,判断过程利用gcd,lcm可以求边长。
代码:
#include
#include
lo...