问题:用1,2,3,...,9组成3个三位数abc,def,和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出所有解。提示:不必太动脑筋。 // 习题2-10 样例(permutation) #include int main(void) { int x, y, z, a[...
分类:
编程语言 时间:
2015-08-20 18:29:33
阅读次数:
132
// 本文部分内容参照刘汝佳《算法竞赛入门经典训练指南》,特此说明。1、前言 趁着这几天上午,把后缀数组大致看完了。这个东西本身的概念可能没太大理解问题,但是它所延伸出来的知识很复杂,很多,还有它的两个兄弟——后缀树,后缀自动机,编起来都不是盖的。2、概念 前面曾经提到过Aho-Corasick.....
分类:
编程语言 时间:
2015-08-20 01:11:26
阅读次数:
176
可以用 n * fghij 去枚举 abcde 判重即可由于fghij 可能自身重复较多,可以先判掉,节省时间;如果不写成函数的形式还能更快一些,因为第二次判段中x,已经判断过了。书中的做法是把两个数字化成字符串去,排序后判断用时
123ms#include
#include
#include
#include
///////...
分类:
其他好文 时间:
2015-08-17 19:38:06
阅读次数:
97
例题3-1 开灯问题 题目:有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共k个人,问最后有那些灯开着?输入:n和k,输出开着的灯编号。k#inclu....
分类:
编程语言 时间:
2015-08-17 18:59:11
阅读次数:
128
例1-2 三位数反转#includeint reverse_3(){ int n; //输入三位数 scanf("%d",&n); printf("%d%d%d\n", n%10 , n/10%10 , n/10...
分类:
编程语言 时间:
2015-08-14 18:37:33
阅读次数:
143
例2-4 文件读写(freopen重定向)#include#define INF 1000000000int file_freopen(){ int x,min=INF,max=-INF,S=0,count=0; freopen("E:\\Code\\C\\算法竞赛入门经典\\Debug...
分类:
编程语言 时间:
2015-08-14 18:37:02
阅读次数:
275
算法竞赛入门经典第二版的365页例题11-5噪音,应该是“之和”换成“取最大值”,“取最小值”还是取最小值
如果我错了,请大家务必指点...
分类:
其他好文 时间:
2015-08-12 11:35:20
阅读次数:
150
摘自算法《竞赛入门经典训练指南》例题 年龄排序(Age Sort,UVa 11462)给定若干居民的年龄(都是1~100之间的整数),把它们按照从小到大的顺序输出。【输入】输入包含多组测试用例。每组数据的第一行为整数n(0#include int main(){ int n,x,c[101]; wh...
分类:
编程语言 时间:
2015-08-02 11:30:11
阅读次数:
280
这是刘汝佳《算法竞赛入门经典第二版》的一道例题,只看书上的解释并没有理解,随后结合着代码才理解了。
解题思路:用d[i][j]表示序列1移走i个元素和序列2移走j个元素的最小“代价”, 这个代价指的是由那些已经移出的字母合并而来的序列中已经出现但尚未结束的字母对总距离和的贡献。比如说一个合并而来的序列中有两个那样的字母,第一个在这个序列中后面有3个字母,另一个字母后面有2个字母,那么此时的代价就...
分类:
其他好文 时间:
2015-07-31 20:29:00
阅读次数:
1978
1 #include 2 3 int main(int argc, const char * argv[]) { 4 int m,n=0; 5 while(scanf("%d",&m)!=EOF) 6 { 7 n=0; 8 while(m...
分类:
编程语言 时间:
2015-07-27 12:38:17
阅读次数:
127