摘要:
外星密码 COGS 1239 AYYZOJ 1916 字符串 模拟 有栈的思想 不过我写完没有想到栈 经过尝试之后应该是由内向外逐层扩展(不动脑子!) 阅读全文
摘要:
记忆化搜索的应用 一般来说,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动态规划要低很多。 如何协调好动态规划的高效率与高消费之间的矛盾呢?有一种折中的办法就是记忆化算法。记忆化算法在求解的时候还是按着自顶向下的顺 阅读全文
摘要:
二分答案是参数搜索的一个改善。是这样,对于一个问题,如果它的答案具有单调性质(即如果i不可行,那么大于i的解都不可行,而小于i的解有可能可行),进而用二分的方法枚举答案,再判断答案是否可行,直到求到符合条件为止。例如:问题的答案范围是1到w之间的一个整数,求最小解,那么我们设s=1,t=w,之后mi 阅读全文
摘要:
【例】求最长不下降序列 【问题描述】: 设有由n个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)<>b(j) (i<>j),若存在i1<i2<i3< … < ie 且有b(i1)<b(i2)< … <b(ie)则称为长度为e的不下降序列。程序要求,当原数列给出之后,求出最 阅读全文
摘要:
DAY1 铺地毯 (carpet.cpp/c/pas) 模拟 倒序离线处理 1 program carpet; 2 var 3 l,w:array[0..10000,1..2] of longint; 4 n,i,a,b,g,k,x,y:longint; 5 flag:boolean; 6 begi 阅读全文
摘要:
DAY1 Vigenère 密码 模拟 可以先把密钥全部转化为大写或小写 1 var 2 i,asc:longint; 3 k,c:ansistring; 4 begin 5 readln(k); 6 for i:=1 to length(k) do k[i]:=upcase(k[i]); 7 re 阅读全文
摘要:
序列(sequence.pas/c/cpp) 【题目描述】 有一个整数序列,它的每个数各不相同,我们不知道它的长度是多少(即整数个数),但我们知道在某些区间中至少有多少个整数,用区间(Li,Ri,Ci)来描述,表示这个整数序列中至少有Ci个数来自区间[Li,Ri],给出若干个这样的区间,问这个整数序 阅读全文
摘要:
笔算开方 笔算开平方法,用这个方法可以求出任何正数的算术平方根。 (并非是近似值,而是精确值) 原理: 方法可简记为——二十倍初商加试商 预备: 下面具体来讲一下计算步骤: 以小数点为起点,将被开方数的整数部分和小数部分分别以2位为一组分隔(整数从右往左分,小数从左往右分,不足则用0补齐),分成n段 阅读全文
摘要:
笔算开方 笔算开平方法,用这个方法可以求出任何正数的算术平方根。 (并非是近似值,而是精确值) 原理: 方法可简记为——二十倍初商加试商 预备: 下面具体来讲一下计算步骤: 以小数点为起点,将被开方数的整数部分和小数部分分别以2位为一组分隔(整数从右往左分,小数从左往右分,不足则用0补齐),分成n段,则表明所求平方根是n位数 确定平方根的第一位:最大平方数。在不超过第一组数中取最大... 阅读全文