摘要:
"扑克牌" 有一副牌(除去大小王),从中拿出几张牌,当然是什么牌已经告诉你了,询问这些牌的排列方案数,并保证相同的点数不相邻。 解 这到题目倒有点像集合题,所以很抽象,笔者花了大量时间理解,特此整理并抄袭了网上的解法,希望能方便各位 法一: 注意到牌的数量很少,故可以暴力,于是方程中表现每张牌有几个 阅读全文
摘要:
"[Apio2010]特别行动队" 给定$a,b,c$,将一个长度为n的序列$\{a_i\}$划分成若干个区间,定义一个区间的权值为$ax^2+bx+c$(x为区间数字和),求最小的权值之和,$n\leq 1000000$。 解 显然设$f_i$表示划分前i个数的最小权值之和,不难有递推方程(其中s 阅读全文
摘要:
"K Anonymous Sequence" 给出一个递增的长度为n的序列$\{a_i\}$,现在你可以进行一次操作,选择若干个数,分别减少任意一个正整数,定义权值为这些正整数之和,询问操作使得新序列的任意一个数都至少有k个数与之相同的最小权值,$2 ≤ n ≤ 500000,2 ≤ k ≤ n,a 阅读全文
摘要:
"Post Office" 在x数轴上,给出v个递增的正整数坐标$\{a_i\}$,请寻找p个点,使坐标到点的最短距离之和最小,$v\leq 300,p\leq 30$。 解 (注意,此题证明过于复杂,不能保证证明完全严谨和正确,如有看不懂,很有可能是打错了,请联系作者) step1 从答案思考问题 阅读全文
摘要:
"Largest Submatrix" 给出一个$n\times m$的网格,网格里只放有字符a,b,c,d,w,x,,z,现在你可以将其中的w换成a,b,把x换成b,c,把y换成a,c,把z换成a,b,c,询问换完以后最大的子矩阵大小,使其包含一样的字符,$1 ≤ m, n ≤ 1000$。 解 阅读全文
摘要:
"[SCOI2010]股票交易" 有t天,第i天的股票买入价格$AP_i$,数量限制$AS_i$;卖出价格$BP_i$,数量限制$BS_i$($AP_i\geq BP_i$);两次交易之间要相隔w天,所持有股票不能超过maxp,初始无限多的钱,询问可以赚到的最多钱,$0≤W include incl 阅读全文
摘要:
"干草塔" 给出一个长度为n的正整数序列$\{a_i\}$,求将其划分成经可能多的区间的数目,并保证任意一个区间的数字和大于它下一个相邻的区间里数字之和,$n\leq 10^5$。 解 首先贪心猜测结论,第一个区间划分的长度最小是最优解 证明:假设不是 那么存在一种方案,第一个区间划分的比它长,还比 阅读全文
摘要:
"Estimation" 给出一个长度为n序列$\{a_i\}$,将其划分成连续的K段,对于其中一段$[l,r]$,设其中位数为m,定义其权值为$\sum_{i=l}^r|m a_i|$,求最小的权值之和,$n\leq 2000,K\leq 25$。 解 显然设$f[i][j]$表示前i个数划分成j 阅读全文
摘要:
"Fence Obstacle Course" 有n个区间自下而上有顺序的排列,标号$1\sim n$,第i个区间记做$[l_i,r_i]$,现在从第n个区间的起点s出发(显然s在$[l_n,r_n]$内),每次可以选择移动到所在区间的左端点或者右端点,然后跳下去,到达第一个碰到的区间,继续进行相同 阅读全文
摘要:
"Bugs Integrated, Inc." 给出一个$n\times m$的矩形网格图,给出其中K个障碍物的位置,求其中最多能摆的$2\times 3$的矩形的个数,$n\leq 150,m\leq 10$。 解 注意到m的数据范围很小,在这里进行进制压缩,而n进行对每一行的处理,设$f[i][ 阅读全文
摘要:
"Corn Fields" 给出一个$m\times n$的矩形网格图,给出网格图中障碍物的位置,求向其中放若干个棋子互不相邻(当然也可以没有)的方案数$mod\ 10^8$,$n,m\times 12$。 解 显然数据范围很小,考虑进制压缩,于是设$f[i][j]$表示前i行,第i行状态为j的方案 阅读全文
摘要:
"Computer" 给出一棵有n个节点的无根树,给出$w[x][y]$表示x与y的边权,现在询问每个点的到达其他点的最长路径长度(显然不能选它自己),$n\leq 10000$。 解 思维预处理 显然为树形递推题目,又要求多个节点的性质,考虑二次递推+换根法,没有根节点,先钦定1为根节点,设$A[ 阅读全文
摘要:
"Bribing FIPA" 给出多棵有n个节点的有根树,第i个节点有一个权值$a_i$,定义一个点能控制的点为其所有的子节点和它自己,询问选出若干个点的最少的权值之和,并且能够控制大于等于m个点,$1 ≤ n ≤ 200$ 解 此题卡输入,插点题外话 c++语法讲解: 1. c++11将gets( 阅读全文
摘要:
"Strategic game" 给出一个有n个节点的树,定义选择一个点能被其控制的点为它自己和所有与它直接有边相连的点,问最少的点数,可以控制整棵树,$n\leq 1500$。 解 不难得知为树形递推,没有确定根,故事先钦定一个根,于是设$f_i$表示以i为节点的子树中,能控制这棵子树的最少节点, 阅读全文
摘要:
首先任何知识点的错误和错字排版不对看不懂都可以投诉 本菜鸡的题解,有以下部分 1. 题目的标签 1. 链接 1. 一句话题意 1. 数据范围 1. 解析 1. 代码 如缺少或错误任何一个环节,均可以投诉 阅读全文
摘要:
"Blocks" 给出n个排成一排的箱子,第i个箱子的颜色为$a_i$,每次可以选择一段相邻的同颜色删去,记该段长度$q$,则增加$q^2$的权值,问最大的权值。 解 首先可以把一段同色缩成一个箱子,记下个数$len[i]$,注意到问题的区间性,考虑区间递推,设$f[i][j]$表示删去$[i,j] 阅读全文
摘要:
"棋盘分割" 对一个$8\times 8$的矩形网格图进行划分,第i行第j列里的数字为$a[i][j]$,当然,接下来的操作都是在网格线上操作的,每次操作可以将矩形网格图划分成两个矩形网格图,对任意其中一个继续同样操作,给出一个数字n,显然,进行n 1次操作后会有n个矩形网格图,定义一个矩形网格图的 阅读全文
摘要:
"能量项链" 有n个能量珠连成的一个环,第i个能量珠有一个属性,用二元组$(a_i,b_i)$表示,意味珠首的数字为$a_i$,珠尾的数字为$b_i$,现在每次操作可以选择两个相邻的能量珠$(a_i,b_i),(a_{i+1},b_{i+1})$,合并之后为能量珠$(a_i,b_{i+1})$,并释 阅读全文
摘要:
"Folding" 给出一个长度为n的序列$\{a_i\}$,定义一个收缩的序列变为原序列的方式为 1. 如果该收缩序列只有一个字符,原序列即该个字符。 1. 如果一个收缩序列由多个收缩序列,那么分别对各个收缩序列进行解压,即原序列 1. 如果收缩序列形如$n(S)$,意为收缩序列S重复n次(注意, 阅读全文
摘要:
"陨石的秘密" 分别给出$l_1,l_2,l_3$个$\{\},[],()$,优先级从低到高,组成一个合法的括号序列,并保证一个括号里的括号优先级要大于等于它,定义深度为括号里套括号的层数,问深度恰好为d的方案数$mod\ 11380$,$0 include define il inline def 阅读全文