10 2018 档案
摘要:给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的)。比如两个串为: abcicbaabdkscab ab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最长的子序列。 收起输入第1行:字符串A第2行:字符串B(A,B的长度 #...
阅读全文
摘要:在 ACM 能够开展之前,必须准备预算,并获得必要的财力支持。该活动的主要收入来自于 Irreversibly Bound Money (IBM)。思路很简单。任何时候,某位 ACM 会员有少量的钱时,他将所有的硬币投入到小猪储钱罐中。这个过程不可逆,因为只有把小猪储...
阅读全文
摘要:题目大意给定箱子种类数量n,及对应长宽高,每个箱子数量无限,求其能叠起来的最大高度是多少(上面箱子的长宽严格小于下面箱子) 思路 首先由于每种箱子有无穷个,而不仅可以横着放,还可以竖着放,歪着放。。。长宽高可以有6种形态,用结构体数组存储起来,然后按照长排序,然后就变...
阅读全文
摘要:有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.给出A,B和N,求f(n)的值。Input输入3个数:A,B,N。数字之间用空格分割。(-10000 #define...
阅读全文
摘要:给出一个长度为N的数组,进行Q次查询,查询从第i个元素开始长度为l的子段所有元素之和。例如,1 3 7 9 -1,查询第2个元素开始长度为3的子段和,1 {3 7 9} -1。3 + 7 + 9 = 19,输出19。Input第1行:一个数N,N为数组的长度(2 ...
阅读全文
摘要:N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。Input2个数N和K,表示N个人,数到K出列。(2 #include ...
阅读全文
摘要:题目描述如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)输入输出格式输入格式: 第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。接下来M行每行包含一个不小于1且不大于N的整数,即询问该数是否为质数。 输出格式: 输出包...
阅读全文
摘要:题目大意:卡车每走一公里就消耗一单位的汽油,初始时给你p单位油,你要到达l距离的终点。其中路上有n个补给点可以加油,并且油箱容量无限大,问你最少可以停车几次。 思路:因为油箱无限大,所以我们可以这么认为,我们路过一个加油站之后,我们在之后的路上随时可以选择加那个加油站...
阅读全文
摘要:zh成功的在他人的帮助下获得了与小姐姐约会的机会,同时也不用担心被非“川大”的女票发现了,可是如何选择和哪些小姐姐约会呢?zh希望自己可以循序渐进,同时希望挑战自己的极限,我们假定每个小姐姐有一个“攻略难度值”从攻略成功第一个小姐姐开始,zh希望每下一个需要攻略的小姐...
阅读全文
摘要:给你n个数字,请你找出出现至少(n+1)/2次的数字。输入本题包含多组数据,请处理到EOF:每组数据包含两行。 第一行一个数字N(1#include#include #includeusing namespace std;const int maxn=1000005;...
阅读全文
摘要:Kruskal算法的高效实现需要一种称作并查集的结构。我们在这里步介绍并查集,只介绍Kruskal算法的基本思想和证明,实现留在以后讨论。 Kruskal算法的过程: (1) 将全部边按照权值由小到大排序。(2) 按顺序(边权由小到大的顺序)考虑每条边,只要这条边和我...
阅读全文
摘要:算法简述ac自动机是一类在字典树上进行kmp的算法。学习ac自动机一般考点都在于对字典树上的点做处理,一般考的都是在自动机上的dp,而这类的dp中几乎必定有一维表示的是自动机上的点。模板#include#include#include#include#includeu...
阅读全文
摘要:本篇博客先给出矩阵快速幂以及利用矩阵快速幂求斐波那契数列的模板,讲解待更新…… const int N=10;int tmp[N][N];void multi(int a[][N],int b[][N],int n){ memset(tmp,0,sizeof t...
阅读全文
摘要:现在有n个货物,第i个货物的重量是 2wi 。每次搬的时候要求货物重量的总和是一个2的幂。问最少要搬几次能把所有的货物搬完。样例解释:1,1,2作为一组。3,3作为一组。 Input单组测试数据。第一行有一个整数n (1≤n≤10^6),表示有几个货物。第二行有n个整...
阅读全文
摘要:给出3个正整数A B C,求A^B Mod C。例如,3 5 8,3^5 Mod 8 = 3。Input3个正整数A B C,中间用空格分隔。(1 #include#include#include#include#includeusing namespace std;...
阅读全文
摘要:斐波那契数列的定义如下: F(0) = 0F(1) = 1F(n) = F(n - 1) + F(n - 2) (n >= 2) (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, ...)给出n,求F(n),由...
阅读全文
摘要:金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的NN元。于...
阅读全文
摘要:有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右)。问足够长的时间之后,能剩下多少条鱼?Input第1行:1个数N,表示鱼的数量(1 #i...
阅读全文
摘要:题目有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。思路:与01背包不同的是一个物品可以选无穷个,写出递推关系:dp[ 0 ] [ j ] ...
阅读全文
摘要:题目描述LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一...
阅读全文
摘要:背包九讲 目录 第一讲 01背包问题 第二讲 完全背包问题 第三讲 多重背包问题 第四讲 混合三种背包问题 第五讲 二维费用的背包问题 第六讲 分组的背包问题 第七讲 有依赖的背包问题 第八讲 泛化物品 第九讲 背包问题问法的变化 附:USACO中的背包问题 前言本...
阅读全文
摘要:题目描述给出一段序列,选出其中连续且非空的一段使得这段和最大。输入输出格式输入格式: 第一行是一个正整数NN,表示了序列的长度。第二行包含NN个绝对值不大于1000010000的整数A_iAi,描述了这段序列。 输出格式: 一个整数,为最大的子段和是多少。子段的最小...
阅读全文
摘要:题目背景约瑟夫是一个无聊的人!!!题目描述n个人(n#include#include using namespace std;int main(){ int n,m,c=1; scanf("%d%d",&n,&m); queue q; for(...
阅读全文
摘要:医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知他们的DNA序列都是环状的。现在研究者已收集了大量的病毒DNA和人的DNA数据,想快速检测出这些人是否感染了相应的病毒。为了方便研究,研究者将人的DNA和病毒DNA均表示成由一些字母组成的字符...
阅读全文
摘要:上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。游戏规则是这样的:nn个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球...
阅读全文
摘要:将整数nn分成kk份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7n=7,k=3k=3,下面三种分法被认为是相同的。1,1,51,1,5;1,5,11,5,1;5,1,15,1,1.问有多少种不同的分法。输入输出格式输入格式: n,kn,k (6j时...
阅读全文
摘要:有NN级的台阶,你一开始在底部,每次可以向上迈最多KK级台阶(最少11级),问到达第NN级台阶有多少种不同方式。输入输出格式输入格式: 两个正整数N,K。 输出格式: 一个正整数,为不同方式数,由于答案可能很大,你需要输出ans \bmod 100003ansmod1...
阅读全文
摘要:陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢?输入输出格式输入格式: 第一行,两个整数,A,B。(B#includeusing nam...
阅读全文
摘要:定义 从n个元素中取出m个元素进行排列,当n=m时这个排列被称为全排列。递归法 我们要对前n个数进行全排列,那么首先我们可以发现第一位数可以是1~n中的任意一位,枚举第一位数的n种可能,然后我们就可以再去求剩下n-1位,确定第二位后再...
阅读全文