题目链接:uva 616 - Coconuts, Revisited
题目大意:题目背景和uva 10726是一样的,只是这道题目是给出n,表示椰子的个数,并且猴子的个数为1,问说是否能找到满足的人数,并且要求人数尽量大。
解题思路:枚举人数,然后根据uva 10726推出的公式去求出最后剩下的椰子是否满足平分等判断。
#include
#include
#inc...
分类:
其他好文 时间:
2014-07-22 23:05:55
阅读次数:
320
题目链接: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
模块数据的导出和打印(1)
一般管理软件的最终目的是要能输出数据,包括grid多条记录的导出和打印以及单条记录的导出和打印。对于这二种方式的导出和打印,我的设计思路是以下的方式。
一、grid数据的导出和打印。
grid数据的导出,我的设计是按照grid的字段分组和列的样式来导出。每个grid列表方案都可以按此方案来导出数据。即你看到的grid...
分类:
其他好文 时间:
2014-07-22 23:04:13
阅读次数:
288
题目链接:uva 278 - Chess
题目大意:给出一个n*m的棋盘,并且给出棋子的种类,问说在这个大小的棋盘上最多能放几个给定的棋子,棋子之间不能互相攻击。
解题思路:总共有4种棋子,那么就分类讨论。
马(骑士):
n或m为1的时候,肯定可以摆满,因为肯定不能互相攻击
n或者m为2时,这样放是最优的。
其他情况的或就是间隔放最优。
车:因为车的攻...
分类:
其他好文 时间:
2014-07-22 23:03:52
阅读次数:
290
题目大意:
怎么分配n个任务到m个服务器上使得负载尽量平衡。
思路:
将任务从大到小排序,依次放入负载最小的那个服务器中。
因为是spj 的缘故,所以可以使用这个贪心。
比如数据
6 2
7 5 3 3 3 3
就会得到错误答案。
#include
#include
#include
#include
#include
using nam...
分类:
其他好文 时间:
2014-07-22 23:03:34
阅读次数:
300
问题:
N个人从1到N编号,围城一圈,从1开始报数, 数到X时,将X的编号输出,并将那个人踢出,
下一个从1再开始报数,直到所有人都出去
思路:
就是计数,移除,没有太深的思想,直接上代码:
package test;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**...
分类:
编程语言 时间:
2014-05-01 21:58:20
阅读次数:
393
题目链接:12105 - Bigger is Better
题意:一些火柴,问你能组成整除m最大的数字是多少。
思路:dp[i][j]表示用i根火柴,组成%m余数为j的最大数字,末尾多一个数字k的状态就是dp[i + num[k]][(j * 10 + k) % m],由于最多可能50位数,所以要用高精度。
注意一个优化点,由于高精度的计算上只需要乘10+k,常规的高精度乘法复杂度还是有点高...
分类:
其他好文 时间:
2014-05-01 18:22:36
阅读次数:
350
题目链接:uva 11314 - Hardly Hard
题目大意:给出A,B两点,然后分别在y轴和x轴找一个D点和C点,使得A,B,C和D组成的四边形的周长最小。
解题思路:两点之间直线最短,将A'为A关于y轴的对称点,B'为B关于x轴的对称点,连接A‘B'即为另外三条边的最短距离,然后AB的距离又是固定的。
#include
#include
#inc...
分类:
其他好文 时间:
2014-05-01 18:16:46
阅读次数:
320
题目:
Given a sorted (increasing order) array, write an algorithm to create a binary tree with minimal height.
翻译:
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
思路:
要使二叉树的高度最小,则要尽量使其左右子树的节点数目相当,自然就考虑到将其构造成为二叉排序树,且将有序数组的中间大的数作为根节点,这样得到的二叉树的高度便是最小的。...
分类:
其他好文 时间:
2014-05-01 17:48:45
阅读次数:
321
题目来源:POJ 3882 Stammering Aliens
题意:给你m一个一个字符串 求至少出现m次的最长字符串 可以在字符串中重叠出现
思路:二分长度l 然后从height数组中找长度大于等于l的前缀
#include
#include
#include
using namespace std;
const int maxn = 40010;
char s[maxn];
in...
分类:
其他好文 时间:
2014-05-01 17:36:34
阅读次数:
334