noi2019模拟测试赛(四十七)】的更多相关文章

noi2019模拟测试赛(四十七) T1与运算(and) 题意: ​ 给你一个序列\(a_i\),定义\(f_i=a_1\&a_2\&\cdots\&a_i\),求这个序列的所有排列的\(\Sigma_i f_i\)的最大值. 题解: ​ dp,记\(dp_i\)表示前面的数与和为\(i\)的最大值,转移要一个超集的东西,fwt搞一搞就行了. #include<bits/stdc++.h> #define fo(i,l,r) for(int i=l;i<=r;i+…
日期: 八月第一天  总分: 300分  难度: 提高 ~ 省选    得分: 100分(不应该啊!) 题目目录: T1:战争调度 T2:选数 T3:由乃的OJ 赛后心得: MMP,首先第一题花了大概一半的时间,碰巧想到了正解. 好吧,作为数学渣的我看到T2肯定是懵的啦!T3又那么难,导致我后半场比赛都在发呆…… 看来我要恶补数学了!!…… 题解: T1:战争调度 树形dp,暴力枚举每个点的染色情况,发$f[i][j]$表示$i$的子树中,有$j$个黑点,所产生的最大贡献. 时间复杂度 $O(2…
[2018冬令营模拟测试赛(二十一)]Problem A: Decalcomania 试题描述 输入 见"试题描述" 输出 见"试题描述" 输入示例 见"试题描述" 输出示例 见"试题描述" 数据规模及约定 见"试题描述" 题解 最优解一定是在一段连续的包含 \(0\) 号点的区间中选择最小的 \(k\) 个印花,其中一边需要折返(即代价为两倍距离). 所以我们先将一边的距离 \(\times 2\),然后…
Solution 线段树好题. 我们考虑用last[i]表示\(i\)这个位置的颜色的上一个出现位置. 考虑以一个位置\(R\)为右端点的区间最远能向左延伸到什么位置: \(L = \max_{i \le j} last[j]\). 而我们的答案就等于 \[ sum_{i = 1}^n (i - (max_{1 \le j \le i} last[j])) = \sum_{i = 1}^n i - \sum_{i = 1}^n max_{1 \le j \le i} last[j] \] 第一项…
Solution 好题, 又是长链剖分2333 考虑怎么统计答案, 我场上的思路是统计以一个点作为结尾的最长上升链, 但这显然是很难处理的. 正解的方法是统计以每个点作为折弯点的最长上升链. 具体的内容题解已经写得很详细了, 直接看题解吧: 线性的LIS的经典做法:从左往右扫并维护f[x]表示当前长为x的LIS的最后一个数最小是多少,易证f[x]必定递增,每次新加一个数y,则在f中二分查找最小的x使得f[x]>=y,若找到则将f[x]设为y,否则在f末尾加上y.最后f的长度即为答案. 答案一定是…
Solution 相当于要你计算这样一个式子: \[ \sum_{x = 0}^m \left( \begin{array}{} m \\ x \end{array} \right) \left( \begin{array}{} k \\ n - m + 2x \end{array}{} \right) \] 考虑到\(m\)非常大, 而\(k\)却比较小, 我们尝试将\(x\)的\(m\)相关转化为\(k\)相关. 我们用如下现实意义来考虑: 令\(N = n - m\), 则我们相当于有两堆…
日期: 八月七号  总分: 300分  难度: 提高 ~ 省选    得分: 112分(OvO) 题目目录: T1:幸福的道路 T2:Solitaire T3:Flags 赛后心得: 第一题裸树d啊!竟然花了一个多小时才切掉…… 第二题输出样例成功骗到12分. 题解: T1:幸福的道路 树形dp,先两次dfs算出每个点的最长路,用两个单调队列维护每天的极差……做完了…… CODE: #include<iostream> #include<queue> #include<cst…
日期: 八月七号  总分: 300分  难度: 提高 ~ 省选    得分: 100分(呵呵一笑) 题目列表: T1:SS T2:Tree Game T3:二元运算 赛后反思: Emmmmmm…… 开局随便看,第二题发现手算样例不对…… 比赛快结束时,又看了看题,才发现自己看错了…… 最终,改A了……Emmmmmm…… 题解: T1:SS 特别特别玄学的一道题…… 原串是一个偶串,设半个原串为S,加起来就是SS. 设S的最长公共前缀后缀为T,(用 KMP 的 next 求) 那么接下来的串为 S…
日期: 八月六号  总分: 300分  难度: 提高 ~ 省选    得分: 10分(MMP) 题目目录: T1:Tree T2:异或运算 T3:Tree Restoring 赛后反思: Emmmmmmm…… 一直在打第一题…… 结果考完才发现dp少了一种情况…… 除此之外,我无话可说…… Emmmmmm…… 题解: T1:Tree 树形背包dp,设$f[i][j][k(0/1/2)]$为$i$的子树中,选$j$条边,0:从$i$出发,到$i$结束/1:从$i$出发,到$i$的某个后代结束/2:…
 日期: 八月二日  总分: 300分  难度: 提高 ~ 省选  得分: 40分(又炸蛋了!!) 题目列表: T1:分手是祝愿 T2:残缺的字符串 T3:树点涂色 赛后心得: 哎,T1求期望,放弃. 看T2像是 KMP 打完发现并不可做,有感觉像是 FFT,放弃 T3我打了个树剖套线段树,调了好久,发现修改操作处理不了,又想到 LCT…… 比赛结束!!…… MMP 题解: T1:分手是祝愿 期望dp,首先,最优解肯定是从大到小,有开的灯就把它按灭 (因为不按的话,编号小的不会对大的有影响,所以…