07 2014 档案
摘要:#include #include int f(int n, int a[], int idx){ if(n==0) return 1; // 填空1 if(idx==4) return 0; for(int i=(int)sqrt((double)n); i>=1; i--) { a[id...
阅读全文
摘要:一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后...
阅读全文
摘要:/***** HDOJ_2084_数塔问题 ********//******** written by C_Shit_Hu ************/ ////////////////动态规划DP问题/////////////// /*******************************...
阅读全文
摘要:#includeusing namespacestd;intmain(){ intn,x,y; while(cin>>n,n) { cin>>x; while(--n) { cin>>y; x=x^y; } cout<<x<<"\n"; } return0;}
阅读全文
摘要:SSCANF用法:(继qsort,bsearch,strchr后发现的又一好使的函数)sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。例子: 1. 常见用法。char buf[512] ;sscanf("123456 ", "%s", b...
阅读全文
摘要:Ai=(Ai-1+Ai+1)/2-Ci(i=1,2,3,....n).用A5做示范,就能猜测出公式来。证明方法可以采用数学归纳法。这里证明从略。A5=(A4+A6)/2-C5A4=(A3+A5)/2-C4=A3/2+A4/4+A6/4-C5/2-C4=>A4=2A3/3+A6/3-2C5/3-4C4...
阅读全文
摘要:已知直角坐标系3点p(a,b),m(c,d),n(e,f) 求三角形pmn面积的表达式!解:无论三角形的顶点位置如何,△PMN总可以用一个直角梯形(或矩形)和两个直角三角形面积的和差来表示而在直角坐标系中,已知直角梯形和直角三角形的顶点的坐标,其面积是比较好求的。下面以一种情形来说明这个方法,其它情...
阅读全文
摘要:KMP 匹配算法是由 "Knuth Morris Pratt" 提出的一种快速的模式匹配算法。hint:不为自身的最大首尾重复子串长度1.待解决的问题:假设P为给定的子串,T是待查找的字符串,要求从T中找出与P相同的所有子串,这称为模式匹配问题。 (可以给出子串在T中的位置) (下文中提到的P和T分...
阅读全文
摘要:SSCANF用法:(继qsort,bsearch,strchr后发现的又一好使的函数)sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。例子: 1. 常见用法。char buf[512] ;sscanf("123456 ", "%s", b...
阅读全文
摘要:开始我的思路是:固定一半,另一半用组合公式cn1+cn2+cn3+cn4+.....+cni;最后用全排列减去它们即可。最后发现思路完全不对,必须用错排公式进行计算。即Cnm*a[N-m]; 从N个人中选出m个正确的,用错排公式算出(N-m)没在对应位置的个数。根据分步计数原理,可以得到结果。#in...
阅读全文
摘要:这题思路:一开始有n盏灯,且全部为关闭状态,都记为 0 就是 The initial condition : 0 0 0 0 0 …然后之后进行i操作就是对这些灯以是否能被i整除,进行改变状态,如将 0 改为 1 或 将 1 改为 0正如提醒里的After the first operation :...
阅读全文
摘要:1基本概念 memset是linux环境下一个直接操作内存空间的C语言函数2主要特点2.1函数介绍 void *memset(void *s, int ch, size_t n); 函数解释:将s中前n个字节替换为ch并返回s; memset:作用是在一段内存块中填充某个给定的值,它是对较大...
阅读全文
摘要:scanf的返回值由后面的参数决定scanf("%d%d", &a, &b);如果a和b都被成功读入,那么scanf的返回值就是2如果只有a被成功读入,返回值为1如果a和b都未被成功读入,返回值为0如果遇到错误或遇到end of file,返回值为EOF。且返回值为int型.验证:sign=scan...
阅读全文
摘要:f(n) = 1, ... , n-2 , n-1, n前n-2个已涂好后,涂第n-1个即有2种情况:1. n-1的色与n-2和1的色都不相同,那么n就是剩下的那个色,米选择。即就是f(n-1)2. n-1的色与n-2不相同但与1个色一样,那么n的色就有2个色选择.即就是f(n-2)*2综上得:f(...
阅读全文
摘要:1递推的方法推导错排公式当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推. 第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法; 第二步,放编号为k的元素,这时...
阅读全文
摘要:在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就是说,常规的32位整数只能够处理40亿...
阅读全文
摘要:我用到了两个数组,d1[n]表示长度为n的牛肉串最后一个字符不是'O',d2[n]表示长度为n的牛肉串最后一个字符是'O'。这样结果就是d1[n]+d2[n];对于已经得到了长度为n-1的牛肉串,我们可以来讨论在第n个位置放置何种字符的牛肉串。已得到第n-1个位置的字符第n个位置需要放置的字符结果不...
阅读全文
摘要:程序中用到一个大整数。存储在 MySQL 数据库那边用了 bigint 类型,程序运算过程中就有了点麻烦。integer用不了,只能用 __int64 这个数据类型。麻烦一,从数据表取数据。以前在数据表取回整形数据时用的都是Query->FieldByName("data")->AsInteger这...
阅读全文
摘要:根据直线分平面可知,由交点决定了射线和线段的条数,进而决定了新增的区域数。当n-1条折线时,区域数为f(n-1)。为了使增加的区域最多,则折线的两边的线段要和n-1条折线的边,即2*(n-1)条线段相交。那么新增的线段数为4*(n-1),射线数为2。但要注意的是,折线本身相邻的两线段只能增...
阅读全文

浙公网安备 33010602011771号