用 栈 stack 来模拟
题目意思:http://blog.csdn.net/mobius_strip/article/details/12765319
下面的代码有坑,输出格式需要调。
#include
#include
#include
#include
#include
using namespace std;
const int maxn=25+5;
stacks[maxn];
i...
分类:
其他好文 时间:
2014-05-15 07:22:04
阅读次数:
273
题目链接:10312 - Expression Bracketing
题意:有n个x,要求分括号,判断非二叉表达式的个数。
思路:二叉表达式的计算方法就等于是Catalan数的,那么只要计算出总数,用总数减去二叉表达式个数,得到的就是非二叉表达式的个数。那么计算方法是什么呢。
看题目中的图,对于n = 4的情况,可以分为这几种情况来讨论:
四个1, 一个2两个1,一个3一个1,一个4,对应...
分类:
其他好文 时间:
2014-05-15 07:11:23
阅读次数:
218
给你两个四位的素数s和t,要求每次改变一个数字,使得改变后的数字也为素数,求s变化到t的最少变化次数。...
分类:
其他好文 时间:
2014-05-15 05:38:25
阅读次数:
234
/*
* hdu How many prime numbers
* date 2014/5/13
* state AC
*/
#include
#include
#include
using namespace std;
bool isPrime(int x)
{
int sqr=sqrt(x*1.0);
for(int i=2;i<=sqr;i++)
{...
分类:
其他好文 时间:
2014-05-15 05:07:18
阅读次数:
261
安排任务的问题。
思路:
因为分报告时间和实际执行任务时间,这里要做的就是尽量使得报告时间和实际执行任务的时间重合,并行,那么就可以减小总时间。
原题:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2829
0.012s的算法,达到网站最高纪录。
...
分类:
其他好文 时间:
2014-05-15 04:23:35
阅读次数:
269
题目来源:UVa 10308 Roads in the North
题意:求距离最远的2点之间的距离
思路:裸的树的直径 或者树形DP
#include
#include
#include
using namespace std;
const int maxn = 100010;
struct node
{
int to, w;
node(){}
node(int to, int...
分类:
其他好文 时间:
2014-05-15 03:37:18
阅读次数:
295
题目链接:uva 11401 - Triangle Counting
题目大意:有多少种方法可以从1,2,3...n中选出3个不同的数组成三角形,给出n,求种数。
解题思路:加法原理,设最大边为x的三角形有c(x)个,那么另外两条边长分别为y和z,根据三角形的形式可以的y+z>x,所以z的范围即为x?yzx
根据这个不等式可以得到每个y值所对应的z值个数,为等差数列,所以
c(...
分类:
其他好文 时间:
2014-05-15 03:03:34
阅读次数:
248
这题跟上两题也差不多。把150以内的素数找出来,把素数的值看做硬币的面值,每个硬币的个数即ceil(150/prime[i]),因为再多也没用,最多组成n=150就行了,所以又回到了找硬币问题。用生成函数解之。代码:#include
#include #include #include #inclu...
分类:
其他好文 时间:
2014-05-14 22:43:11
阅读次数:
404
题目来源:UVa 991 Safe Salutations
题意:圆上2*n个点均匀分布 两两相连 求不相交的方案数
思路:卡特兰数的应用
/*
最典型的四类应用:(实质上却都一样,无非是递归等式的应用,就看你能不能分解问题写出递归式了)
1.括号化问题。
矩阵链乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)...
分类:
其他好文 时间:
2014-05-14 20:52:44
阅读次数:
370
题目链接:uva 11806 - Cheerleaders
题目大意:在一个m行n列的矩阵网里放k个石子,问有多少种画法?每个格子最多放一个石子,所有石子必须用完,并且在第一行、最后一行、第一列和最后一列都得有石子。
解题思路:容斥原理,我们可以先求说在m?n的矩阵上放k个石子的种数C(nmk),减掉四条边界不放的情况就是答案了。所以枚举16种状态,用二进制数表示说四条边中那些边是不放...
分类:
其他好文 时间:
2014-05-14 19:57:17
阅读次数:
219