题目连接:uva 11174 - Stand in a Line
题目大意:村子里有n个村名民,现在他们要排成一列,处于对长辈的尊敬,他们不能排在自己父亲的前面,有些人的父亲不一定在村子了。问有多少种列的顺序。
解题思路:【算法竞赛入门经典-训练指南】的例题,主要还用到了欧几里得拓展定理求逆元。
#include
#include
#include
using namespa...
分类:
其他好文 时间:
2014-05-22 13:24:44
阅读次数:
179
#include
//#include
using namespace std;
struct node
{
char word[10];
int num;
};
node obj[100];
void my_word(char input[], char output[])
{
int sum=0,flag=0;...
分类:
其他好文 时间:
2014-05-22 12:41:25
阅读次数:
233
题目链接:uva 10253 - Series-Parallel Networks
题目大意:就是有n条线,通过并联或者是串联,形成一个整体,问说有n条线,可以组成多少种。
解题思路:大白书上的例题,解法还真是高端.dp[i][j]表示说每个树德叶子节点不大于i,一共有j个叶子。f[i]=dp[i-1][i],注意n为1的时候。
#include
#include
typede...
分类:
Web程序 时间:
2014-05-22 11:03:40
阅读次数:
402
一道笔试题,纸上写的,誊到电脑上并调试通过。没经验,摸索的野蛮做法,不知道有没有更简洁更抽象的算法。
是英文题,原题是不用buffer(缓存)反转字符串打印输出,受OJ的毒害,我就认为只要逆序打印就行了(要是把原字符串改了,我还真不知道怎么办到,尤其听说字符串常量不能被更改,在文章尾部会做验证)。
版本一:
用了一下递归,思路是用指针遍历字母,每碰到空格就用新指针往下递归调用...
分类:
其他好文 时间:
2014-05-22 10:12:28
阅读次数:
298
#include
using namespace std;
int func(int year)//判断闰年的个数
{
int count=0;
for(int i=1990;i
if(year%4==0&&year%100!=0||year%400==0)
count++;
return cou...
分类:
其他好文 时间:
2014-05-22 06:34:15
阅读次数:
252
前几天去UC笔试,有一道简答题问到了。之前还真一直没留意到这个问题,所以答得也不好。无论学习什么都好,通过对比学习更有利于发现事物的共性和个性,对于知识点的理解更有明显效果(这也可能是UC笔试题上,5道简答题中,有4道都是关于X与Y的区别的问题的原因之一)。既然自己答得不好,那就写下这篇随笔,来警示...
分类:
编程语言 时间:
2014-05-18 19:33:06
阅读次数:
363
我们知道,有些DP方程可以转化成DP[i]=f[j]+x[i]的形式,其中f[j]中保存了只与j相关的量。这样的DP方程我们可以用单调队列进行优化,从而使得O(n^2)的复杂度降到O(n)。可是并不是所有的方程都可以转化成上面的形式,举个例子:dp[i]=dp[j]+(x[i]-x[j])*(x[i...
分类:
其他好文 时间:
2014-05-17 14:19:06
阅读次数:
214
[QQ群: 189191838,对算法和C++感兴趣可以进来]
说实话,昨天UC的笔试题基本全是基础,但是太基础,直接导致很多都不能确定了。看来不管找工作还是找实习,一定要复习到位。好在我也一直是抱着打酱油的味道,实习与否不是特别在意,否则真心要鄙视死自己啦。
好的,言归正传,题目是一道...
分类:
其他好文 时间:
2014-05-15 14:12:19
阅读次数:
282
已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目。如果无解,则输出 No answer
样例输入:14 32
样例输出:12 2
样例输入:10 16
样例输出:No answer
#include
int main()
{
int a, b, n, m;
scanf("%d%d",&n,&m);
a = (4*n-m)...
分类:
其他好文 时间:
2014-05-15 02:49:01
阅读次数:
170