题目:11054 - Wine trading in Gergovia
题目大意:每个房子的主人要么买酒,要么卖酒,买和卖的酒的数量一致。卖酒的人需要将酒运送到买酒的人的家里,每将一瓶酒运到相邻的房子就需要耗费一单元的费用,问怎样能使得整体的运送费用最少。
解题思路:不论是卖和买,都需要运送。这样就可以从第一家开始把他手上拥有的酒,或是他想要的酒转移到相邻的那一家。如果刚好一个...
题目:993 - Product of digits
题目大意:将一个数通过因式分解变成另一个由因子组成的最小的数。
解题思路:因为要组成数,所以因子只需要从 2 - 9,又因为需要最小的数,所以因式分解从最大的因子开始,这样位数最少,最后输出从最小的因子输出,保证最小。1的话需要特判,因为所有的数都有因子1.
代码:
#include
#include
co...
分类:
其他好文 时间:
2014-07-03 18:21:51
阅读次数:
155
题目链接:uva 10368 - Euclid's Game
题目大意:给出两个数,两个人做一个游戏,每次有stan开始操作,每次操作可以从最大的数中取走若干个小的数,即a-kb,a为比较大的数,b为比较小的数,kb为取走的值,k必须为整数,并且kb≤a。如果不能顺利执行操作,则对手胜利。
解题思路:模拟,直到k的最大值不为1时,当前操作者就掌握了主动权,既可以获胜。特殊情况为a=b的...
分类:
其他好文 时间:
2014-07-03 17:25:46
阅读次数:
198
题目连接:uva 10622 - Perfect P-th Powers
题目大意:对于x,如果存在最大的p,使得有整数满足x=bp,则称x为perfect
pth power。现在给出x,求p。
解题思路:将x分解质因子,所有置因子的个数的最大公约数即为所求p,需要注意的是x为负数的时候,p必须为奇数。
#include
#include
#include
const...
分类:
其他好文 时间:
2014-07-03 16:56:13
阅读次数:
233
题目:10714 - Ants
题目大意:一个长度为l的板上,分布着许多的蚂蚁,每只蚂蚁的位置都会给出但是方向不缺定,如果两只蚂蚁碰上了,就会朝各自相反的方向前进。问这样所有的蚂蚁都跌落木板的最短时间和最长时间。
解题思路:最短时间的话就是每只蚂蚁都朝着各自离两端最近的方向前进,最后取这些最近的位置的最大值,就是最短时间。这样的话两只蚂蚁是不会碰到的,因为某只蚂蚁的前方那只蚂蚁...
分类:
其他好文 时间:
2014-07-03 16:46:56
阅读次数:
131
HDU 4576 Robot(概率题)
题目大意:
第一行4个数字表示:一块圆盘上有n个格子,m个操作,l,r表示区间,接下来m行,每行1个数字w,机器人一开始在1号格子,对于每个操作会顺时针或者逆时针移动w格,问你最终停在区间[l,r]的概率。
解题思路:
去年去杭州比赛遇到了这题,当时因为这题超时打铁了,真心感觉自己当时弱爆了!!
现在回过头来看这题,好简单
第i号格子其实就是只能由 i-w号格子 与i+w号格子得来,而且概率各占1半,所以注意边界,用滚动的思想就行了。...
分类:
其他好文 时间:
2014-07-03 13:49:37
阅读次数:
251
题目链接:uva 11728 - Alternate
Task
题目大意:给出S,求N,要求N所有的因子和为S。
解题思路:枚举因子i,所有整除i的数和加上i。
#include
#include
const int N = 1005;
int n, c[N], v[N];
void init () {
memset(c, 0, sizeof(c));
...
分类:
其他好文 时间:
2014-07-02 16:55:04
阅读次数:
167
题目链接:uva 10090 - Marbles
题目大意:给出n,表示有n个珠子,现在要用若干个盒子来装。有两种盒子,一种价钱c1,可以装t1个珠子,另一种价钱c2,可以装t2个珠子。要求所卖的盒子刚好装n个珠子,并且价钱最小的方案。
解题思路:用拓展欧几里得算法求出xt1+yt2=n的一对解x′和y′,这样就有通解:
x=x′ngcd(t1,t2)+t2gcd(t1,t2)k
...
分类:
其他好文 时间:
2014-07-02 16:26:26
阅读次数:
197
题目连接:uva 294 - Divisors
题目大意:给出一个范围L~U,问说在该范围中因子数最多的数是多少。
解题思路:枚举L~U中的数,将数分解成质因子,利用乘法原理求总因子数。
#include
#include
#include
int countFactor (int x) {
int ans = 1;
int m = sqrt(x+0.5);
...
分类:
其他好文 时间:
2014-07-02 15:27:15
阅读次数:
298
题目链接:uva 10127 - Ones
题目大意:给出n,问说者少要多少为1才可以整除n。
解题思路:等于是高精度取模,直到余数为0为止。
#include
#include
int main () {
int n;
while (scanf("%d", &n) == 1) {
int ans = 1, c = 1;
whil...
分类:
其他好文 时间:
2014-07-02 15:16:16
阅读次数:
210