[2020.11.28提高组模拟]T1染色(color) 题目 题目描述 给定 \(n\),你现在需要给整数 \(1\) 到 \(n\) 进行染色,使得对于所有的 \(1\leq i<j\leq n\),若 \(i - j\) 为质数,则 \(i\) 和 \(j\) 不同色. 求出颜色尽可能少的染色方案.如果有多种方案,输出任意一种即可. 输入格式 第一行一个整数 \(n\). 输出格式 第一行一个整数 \(k\),表示颜色数. 第二行 \(n\) 个整数 \(col_i\)(\(1 \leq…
序列(array) 题目描述 ​给定一个长为 \(m\) 的序列 \(a\). 有一个长为 \(m\) 的序列 \(b\),需满足 \(0\leq b_i \leq n\),\(\sum_{i=1}^m a_ib_i \leq D\) 且 \(b_i\) 为整数. ​求 \(\sum b_i + k \min_{i=1}^m{b_i}\) 的最大值. 输入格式 ​第一行一个正整数 \(T\),表示数据组数. ​对于每组数据,第 \(1\) 行四个整数 \(n, m, k, D\). ​第 \(2…
剪辣椒(chilli) 题目描述 在花园里劳累了一上午之后,你决定用自己种的干辣椒奖励自己. 你有n个辣椒,这些辣椒用n-1条绳子连接在一起,任意两个辣椒通过用若干个绳子相连,即形成一棵树. 你决定分三餐吃完这些辣椒,因此需要剪断其中两根绳子,从而得到三个组成部分,每一餐吃一个组成部分即可. 每一餐不可以太辣,所以你会寻找一个剪绳子的方法,使得最大组成部分和最小组成部分的辣椒数量差最小.计算出这个最小差值. 输入格式 输入文件名为chilli.in. 第一行一个整数n,表示辣椒的数量.辣椒从1到…
删边(delete) 题目 题目描述 给你一棵n个结点的树,每个结点有一个权值,删除一条边的费用为该边连接的两个子树中结点权值最大值之和.现要删除树中的所有边,删除边的顺序可以任意设定,请计算出所有方案中的最小花费. 输入格式 输入文件名为 delete.in. 第一行包含整数n,表示结点数.结点用从1到n表示. 第二行包含n个整数ti(1≤ti≤109).数字ti表示结点i的权值. 接下来n−1行,每行包含两个整数x和y(1≤x,y≤n),表示结点x和结点y直接相连. 输出格式 输出文件名为…
估计:40+10+0+0=50 实际:40+10+0+0=50 rank40 T1 赛时看到\(n,m\leq9\),我当机立断决定打表,暴力打了几个点之后发现在\(n\ne m\)且\(k\ne0\)的情况下答案为0,而\(k=0\)时答案总为1,于是就决定找规律,然后,就没有然后了--找规律找着找着就到了10:30,我依旧没有找到规律,然后放弃,转而打表.由于我的暴力过于暴力,\(n=8,m=8,k=3\)这个点就跑了\(30mins\),这时就来到了11:00,只好放弃交暴力 得分:\(T…
105,rk45 T1 赛时一开始先打了\(m=0\)的情况,也就是普通的卡特兰数,然后打了暴力,样例过了,把样例改改就不行了,原因没有保证是枚举的是合法的出栈序列 得分:\(WA\&TLE10\) 正解是从原本的递推式\(f_n=\sum_{i=1}^nf_{i-1}*f_{n-i}\),这里枚举的是最后出栈的数,然后扩展到这道题,将\(dp\)转为区间\(dp\),然后就有了\(O(n^3m)\)的做法,优化至\(O(n^3+nm)\)--思考中 T2 名字如此高大上,肯定不会用莫队的(毕竟…
书信(letter) Description 有 n 个小朋友, 编号为 1 到 n, 他们每人写了一封信, 放到了一个信箱里, 接下来每个人从中抽取一封书信. 显然, 这样一共有 n!种拿到书信的情况. 现在亮亮规定, 对任意的 1<=x,y<=n, 如果 x 号小朋友拿到 u 号小朋友写的 书信, y 号小朋友拿到 v 号小朋友写的书信, 那么(x+y)号小朋友必须拿到(u+v) 号小朋友写的书信(这里的加法若和超过了 n, 那么就减去 n) . 小林想知道, 总共有多少种拿到书信的情况呢…
55,rk47 T1 赛时先想了\(trie\),想到不一定是前缀,然后就放弃转为打暴力 得分:\(RE22\) 正解是只用判断\(i\)与\(i+1\)的关系,那么只有两种情况,判断一下然后\(dp\)就可以了 T2 赛时直接暴力了,枚举当前时刻是哪个板上的哪个段改变状态 得分:\(WA\&TLE\&RE0\) 正解矩阵乘法 T3 赛时想了想去打了链的情况,容易发现只用考虑相邻两个点之间的关系,先将\(a\)排序,如果\(a[i+1]-a[i]\)是个偶数,那么就放在\(\dfrac{a…
题目 题目描述 今天,接触信息学不久的小\(A\)刚刚学习了卡特兰数. 卡特兰数的一个经典定义是,将\(n\)个数依次入栈,合法的出栈序列个数. 小\(A\)觉得这样的情况太平凡了.于是,他给出了\(m\)组限制,每个限制形如\((f_i,g_i)\),表示\(f_i\)不能在\(g_i\)之后出栈. 他想求出:在满足了这\(m\)组限制的前提下,共有多少个合法的出栈序列.他不喜欢大数,你只需要求出答案在模\(998244353\)意义下的值即可. 输入格式 输入第一行为两个非负整数,\(n\)…
题目 题目描述 老师们已经知道学生喜欢睡觉,Soaring是这项记录保持者.他只会在吃饭或玩FIFA20时才会醒来.因此,他经常做关于足球的梦,在他最近的一次梦中,他发现自己成了皇家马德里足球俱乐部的总经理. 他的工作是挑选N名球员争取在下个赛季打败巴塞罗那队,但是董事会有两个特殊的要求.具体如下: ①所有运动员姓氏的长度必须不同. ②每个运动员的姓氏必须是长度比其长的所有其他运动员姓氏的连续子串 为了让工作变得简单,Soaring将潜在的球员分成N类,第i类的球员的姓氏恰好有i个字母,且每一类…