摘要: problem1 link 按照每种字符的数量降序排序,然后从多到少依次放每一种。放的时候一上一下交错放置。 problem2 link 构造的方法如下:(假设$x=25$) (1)首先构造一个初始答案如下: 现在的'good'子集的个数为15,还需要25-15=10个。下面的每一步添加将不改变之前 阅读全文
posted @ 2017-05-29 08:57 朝拜明天19891101 阅读(304) 评论(0) 推荐(0) 编辑
摘要: problem1 link 左括号和右括号较少的一种不会大于20。假设左括号少。设$f[i][mask][k]$表示处理了前$i$个字符,其中留下的字符以$k$开头($k=0$表示'(',$k=1$表示'['),且所有留下的字符状态为$mask$,($mask$的最高位为1,其他位为0表示另一种括号 阅读全文
posted @ 2017-05-28 09:28 朝拜明天19891101 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 1、给定一个数字$N$,从1到100的100个数字中选出$K$个数字(设为集合$S$),然后对$S$进行如下运算: (1)删除$S$中的某些数字;(可以删除0个数字) (2)将$S$中的某些数字取为它的相反数;(可以改变0个数字) (3)对$S$中的数字求和得到$ans$ 现在给出一种选择$K$个数 阅读全文
posted @ 2017-05-26 10:41 朝拜明天19891101 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 1、给定一个$n$个顶点$n$个边的图,边是$(i,a_{i})$,顶点编号$[0,n-1]$。增加一个顶点$n$,现在选出一个顶点集$M$,对于任意的在$M$中 的顶点$x$,去掉边$(x,a_{x})$,增加边$(x,n)$。最后使得顶点0和1相连。有多少种$M$? 思路:设从0开始可以遍历的顶 阅读全文
posted @ 2017-05-25 11:14 朝拜明天19891101 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 1、给定一个带权有向图。选出一些边满足使得任意两点可相互到达的前提下使得选出的边的权值的最大最小差值最小。 思路:二分答案,然后枚举权值的范围判断是否可行。 阅读全文
posted @ 2017-05-24 10:22 朝拜明天19891101 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 1、给出一个$n$个顶点的无向带权图。其中顶点$i,i+1$之间存在边,$i,i+2$之间存在边。而且仅有这些边。现在删掉其中的一些边,剩下的边满足图仍然是2联通的情况下使得权值和最小? 思路:其实就是使得删掉的边的权值最大。对于第$i$和第$i+1$个顶点,2联通的两条路径一定经过了$e(i,i+ 阅读全文
posted @ 2017-05-23 12:18 朝拜明天19891101 阅读(374) 评论(0) 推荐(0) 编辑
摘要: problem1 link 每次枚举$S$的两种变化,并判断新的串是否是$T$的子串。不是的话停止搜索。 problem2 link 首先考慮增加1个面值为1的硬币后,$ways$数组有什么变化。设原来的方案为$w_{0}$,现在的为$w_{1}$。那么有$w_{1}[i]=w_{0}[i]+w_{ 阅读全文
posted @ 2017-05-22 15:31 朝拜明天19891101 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1、给出$n$个数字,将其分成三个非空的组,每组的权值为该组所有数字的抑或。选择一种分法使得三组的权值和最大? 思路:记录前两组的权值且三组有没有数字时第三组的值。(当前两组的值知道时第三组的权值是确定的,因为三组的抑或值是确定的) 2、给出$n*m$的只包含'A'到'Z'的字符矩阵。对于一个列的集 阅读全文
posted @ 2017-05-22 10:35 朝拜明天19891101 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 1、称一个串的子串(连续一段)为$same$当且仅当这个子串所有字符都一样。子串不同当且仅当在原串中的起始位置不同。现在构造一个长度为$n$的只包含字符'a','b'的串$s$,使得$s$满足长度为$L$ 的$same$子串恰有$x_{L}$个.有多个答案,输出字典序最小的。 思路:首先一个长度为4 阅读全文
posted @ 2017-05-21 11:33 朝拜明天19891101 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 1、给定一个50个节点的无向图,有$m$条边。现在以任意一种序列对每个节点染色。染当前节点的代价为染色完当前节点后满足两个端点都被染色的边的数量。求最小的染色代价。$m \leq 20$ 思路:一个直观的思路是应该先染色度数小的节点。由于$m\leq 20$,所以如果先把那些孤立的点以及那些度数为1 阅读全文
posted @ 2017-05-19 12:03 朝拜明天19891101 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 1、给定长度为$n$ 的数组$b$,构造长度为$n$ 的且没有重复元素的数组$a$,令$p_{i}$表示$a$中除$a_{i}$外其他元素的乘积。构造出的$a$满足$a_{i}^{b_{i}}$能够被$p_{i}$整除。这样的数组$a$存在否? 思路:因为$a_{i}^{b_{i}}$中所有素因子的 阅读全文
posted @ 2017-05-18 15:36 朝拜明天19891101 阅读(430) 评论(0) 推荐(1) 编辑
摘要: problem1 link $N+1$到$M$ 之间的数字要包含所有1到$N$之间出现的质因子的最高幂即可。 problem2 link 从第一个节点到第$N$个节点依次考虑。对于第$i$个节点来说,其颜色为$j$时,可以选择与前面的连边或者不连边,方案数为$1+(i-1)+g(i-1,j)$。其中 阅读全文
posted @ 2017-05-17 14:10 朝拜明天19891101 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 1、定义重复串$S=T+T$,即$S$可以表示成一个串的叠加。给定一个串$s$,可以通过删除字符、修改字符、增加字符来使得其变为重复串。问最少的次数。 思路:首先将$s$分成个串$s_{0},s_{1}$,然后计算将$s_{0},s_{1}$变成一样要多少次操作。 2、给出平面上$n$个点的集合$S 阅读全文
posted @ 2017-05-17 10:24 朝拜明天19891101 阅读(159) 评论(0) 推荐(0) 编辑
摘要: problem1 link 首先枚举差值$d$,判断是否存在一个序列任意连续两个之间的差值小于$d$。 首先将数字排序,然后从小到大依次放置每一个数字。每个当前的数字有两个位置可以放,当前序列的前面或者后面。设当前序列开始末尾的两个数字为$L,R$,当前数字为$x$。 如果$x-L>d$并且$x-R 阅读全文
posted @ 2017-05-16 16:04 朝拜明天19891101 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 1、两个长度为$n$的数组$a,b$,$0 \leq a_{i} <2^{30}$。$b_{i}=-1$或者$b_{i}$为除$a_{i}$外其他数字的抑或值。现在给定$b$,如果不存在$a$,返回-1.否则输出$a$数组所有数字和的最小值。 思路:一位一位考虑。当前考虑第$k$位。对于所有不知道的 阅读全文
posted @ 2017-05-16 12:59 朝拜明天19891101 阅读(303) 评论(0) 推荐(0) 编辑