2013年3月25日

uva10706 - Number Sequence

摘要: 这个题又体现了数组的妙用。不过这个题的上界结束的很巧妙。程序跑的也不长,16ms。不过不是我憋出来的,而是又作弊的看了人家的代码。。。用两个数组分别存数位长度和总长度。然后判断,最后那个取余运算也很巧妙。。。代码如下:#include #include const int M = 31268+10; using namespace std; int f[M], s[M]; int main () { for(int i = 1;; i++) { f[i] = f[i-1]+(int)(log10(i))+1; s[i] = s[i-1]+f[... 阅读全文
posted @ 2013-03-25 23:21 Primo... 阅读(143) 评论(0) 推荐(0) 编辑

uva10057 - A mid-summer night's dream

摘要: 这么水的题我还是WA了2次,,,,好了,说说我是怎么错的吧。1:忽略了每个数出现多次的情况。2:没想清楚一个数如果出现多次该怎么办。思路:加入出现a,b,c,d,e,f,g等7个数,求最小的A,我们可以把7个非负整数放到数轴上,这样就变成了找到一个A点使得此点到其他7个点的距离只和最小。这样我们就好办了,把所有的坐标排序,找到最中间的那个即可了,就是我们要找的最小的满足条件的数值,输入中出现的符合条件的数:如果n是偶数,则把mid和mid+1位置的数出现的次数加起来即可,(此处要注意这两个位置的数是否相等)如果n是奇数,则只需统计mid位置的数即可。符合条件的数的个数:还是的分情况,若偶,则m 阅读全文
posted @ 2013-03-25 20:38 Primo... 阅读(164) 评论(0) 推荐(0) 编辑