题目3 : 质数相关时间限制:2000ms单点时限:1000ms内存限制:256MB描述两个数a和 b (a#include #include #include #include #include #include #include #include #include #include #inclu...
分类:
其他好文 时间:
2015-04-30 00:40:05
阅读次数:
168
编程之美书中讲的一摞烙饼的排序一题
这里无法用基本的排序方法对其排序,那么最直接的方法是找出N个数种最大者,将这通过两次翻转放置到最底部,然后处理N-1,N-2等,直到全部排序完,所以一共需要交换2(N-1)次void reverse(int cakes[], int beg, int end)
{
int temp;
while(beg < end){
temp...
分类:
编程语言 时间:
2015-04-29 17:14:49
阅读次数:
151
这种问题以及方法很常见。主要是思路要开阔,讲已知的问题抽象成数学模型或者函数表达式,这正是数学建模的真谛,problem solving(解决实际问题的能力)。法一:利用计数排序,用数组记下每个ID出现的次数,然后找出出现一次的那个ID,时空复杂度都是O(N)。现在如果数据量很大,那么这样的空间复杂度是无法被容忍的法二:利用两个相同的数异或结果为0,将所有的ID都异或一遍,显然最后剩下的值,即为出现...
分类:
其他好文 时间:
2015-04-29 17:12:47
阅读次数:
143
以前在编程之美上看过,位操作比较多阶乘的0时间限制:3000ms|内存限制:65535KB难度:3描述计算n!的十进制表示最后有多少个0输入第一行输入一个整数N表示测试数据的组数(1<=N<=100)每组测试数据占一行,都只有一个整数M(0<=M<=10000000)输出输出M的阶乘的十进制表..
分类:
其他好文 时间:
2015-04-29 15:20:26
阅读次数:
219
题目1 : 彩色的树
时间限制:2000ms
单点时限:1000ms
内存限制:256MB
描述
给定一棵n个节点的树,节点编号为1, 2, …, n。树中有n - 1条边,任意两个节点间恰好有一条路径。这是一棵彩色的树,每个节点恰好可以染一种颜色。初始时,所有节点的颜色都为0。现在需要实现两种操作:
1. 改变节点x的颜色为y;
2. 询问整棵树被划分成了多少棵颜色...
分类:
其他好文 时间:
2015-04-29 10:10:38
阅读次数:
124
// 描述
// 给定两个日期,计算这两个日期之间有多少个2月29日(包括起始日期)。
// 只有闰年有2月29日,满足以下一个条件的年份为闰年:
// 1. 年份能被4整除但不能被100整除
// 2. 年份能被400整除
// 输入
// 第一行为一个整数T,表示数据组数。
// 之后每组数据包含两行。每一行格式为"month day, year",表示一个日期。month为{"Ja...
分类:
其他好文 时间:
2015-04-29 09:53:07
阅读次数:
145
一、一个数组里除了一个数字之外,其他的数字都出现了两次 用异或来解#include using namespace std;int main(){ int T; int n,m; while(cin>>T,T){ cin>>n; while...
分类:
编程语言 时间:
2015-04-28 22:46:20
阅读次数:
173
题目:
许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程序。我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:
1.修改一个字符(如把“a”替换为“b”);
2.增加一个字符(如把“abdd”变为“aebdd”);
3.删除一个字符(如把“travelling”变为“traveling”);
比如,对于“abcdefg”和“abc...
分类:
其他好文 时间:
2015-04-28 16:19:39
阅读次数:
129
题目3 : 八卦的小冰时间限制:2000ms单点时限:1000ms内存限制:256MB描述小冰是个八卦的人,最近她对一个社交网站很感兴趣。由于小冰是个机器人,所以当然可以很快地弄清楚这个社交网站中用户的信息啦。她发现这个社交网站中有N个用户,用户和用户之间可以进行互动。小冰根据用户之间互动的次数和内...
分类:
其他好文 时间:
2015-04-28 16:07:43
阅读次数:
195
题目:
有一个没有排序,元素个数为2N的正整数数组。要求把它分割为元素个数为N的两个数组,并使两个子数组的和最接近。
基本思想:
假设数组A[1..2N]所有元素的和是SUM。模仿动态规划解0-1背包问题的策略,令S(k, i)表示前k个元素中任意i个元素的和的集合。
显然:
S(k, 1) = {A[i] | 1
S(k, k) = {A[1]+A[2]+…+A[k]}
...
分类:
编程语言 时间:
2015-04-28 14:16:04
阅读次数:
135