2018.10.18 NOIP训练 [SCOI2018]Pipi 酱的日常(线段树)
传送门
线段树好题啊。
题目要求的是sum−a−b−c+maxsum-a-b-c+maxsum−a−b−c+max{∣a+v∣+∣b+v∣+∣c+v∣|a+v|+|b+v|+|c+v|∣a+v∣+∣b+v∣+∣c+v∣}.
那么后面有几种情况:
- a+v+b+v+c+va+v+b+v+c+va+v+b+v+c+v
- a+v−b−v+c+va+v-b-v+c+va+v−b−v+c+v
- a+v+b+v−c−va+v+b+v-c-va+v+b+v−c−v
- −a−v+b+v+c+v-a-v+b+v+c+v−a−v+b+v+c+v
- a+v−b−v−c−va+v-b-v-c-va+v−b−v−c−v
- −a−v+b+v−c−v-a-v+b+v-c-v−a−v+b+v−c−v
- −a−v−b−v+c+v-a-v-b-v+c+v−a−v−b−v+c+v
- −a−v−b−v−c−v-a-v-b-v-c-v−a−v−b−v−c−v
<=>
- a+b+c+3va+b+c+3va+b+c+3v
- a−b+c+va-b+c+va−b+c+v
- a+b−c+va+b-c+va+b−c+v
- −a+b+c+v-a+b+c+v−a+b+c+v
- a−b−c−va-b-c-va−b−c−v
- −a+b−c−v-a+b-c-v−a+b−c−v
- −a−b+c−v-a-b+c-v−a−b+c−v
- −a−b−c−3v-a-b-c-3v−a−b−c−3v
那么对于vvv之前的数维护全局最大值就行了。
一共也就8种值,分类讨论就行了
代码
2018.10.18 NOIP训练 [SCOI2018]Pipi 酱的日常(线段树)的更多相关文章
- 2018.10.18 NOIP训练 ZUA球困难综合征(线段树)
传送门 考虑到模数等于7 * 13 * 17 * 19. 那么只需要维护四棵线段树求出每个数处理之后模7,13,17,197,13,17,197,13,17,19的值再用crtcrtcrt合并就行了. ...
- 2018.10.18 NOIP训练 01矩阵(组合数学)
传送门 组合数学好题. 题目要求输出的结果成功把概率转化成了种类数. 本来可以枚举统计最小值为iii时的概率. 现在只需要统计最小值为iii时的方案数,每一行有不少于iii个1的方案数. 显然一行选i ...
- 2018.10.31 NOIP训练 锻造(方程式期望入门题)(期望dp)
传送门 根据题目列出方程: fi=pi∗(fi−1+fi−2)+(1−pi)∗(fi+1+fi)f_i=p_i*(f_{i-1}+f_{i-2})+(1-p_i)*(f_{i+1}+f_i)fi=p ...
- 2018.10.30 NOIP训练 【模板】树链剖分(换根树剖)
传送门 纯粹是为了熟悉板子. 然后发现自己手生了足足写了差不多25min而且输出的时候因为没开long longWA了三次还不知所云 代码
- 2018.10.29 NOIP训练 数据结构(带修改莫队)
传送门 带修莫队板题. 直接按照经典写法做就行了. 代码
- 2018.10.26 NOIP训练 数数树(换根dp)
传送门 换根dpdpdp傻逼题好像不好码啊. 考虑直接把每一个二进制位拆开处理. 先dfsdfsdfs出每个点到1的异或距离. 然后分类讨论一波: 如果一个点如果当前二进制位到根节点异或距离为1,那么 ...
- 2018.10.23 NOIP训练 Leo的组合数问题(组合数学+莫队)
传送门 好题. 考察了莫队和组合数学两个知识板块. 首先需要推出单次已知n,mn,mn,m的答案的式子. 我们令f[i]f[i]f[i]表示当前最大值为第iii个数的方案数. 显然iii之后的数都是单 ...
- 2018.10.19 NOIP训练 变化的序列(线性dp)
传送门 f[i][j]f[i][j]f[i][j]表示后iii个对答案贡献有jjj个a的方案数. 可以发现最后a,ba,ba,b的总个数一定是n∗(n−1)/2n*(n-1)/2n∗(n−1)/2 因 ...
- 2018.10.19 NOIP训练 桌子(快速幂优化dp)
传送门 勉强算一道dp好题. 显然第kkk列和第k+nk+nk+n列放的棋子数是相同的. 因此只需要统计出前nnn列的选法数. 对于前mmm%nnn列,一共有(m−1)/n+1(m-1)/n+1(m− ...
随机推荐
- sssp-webservce_restful
pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or ...
- leetcode476
public class Solution { public int FindComplement(int num) { //计算数字二进制的反码 var list = new List<int ...
- XMLTransformProvider
XMLTransformProvider1 XMLTransformProvider1.TransformRead.SourceXmlDocument := XMLDoc.GetDOMDocument ...
- 批量得到/修改word超链接
Alt+F9或者勾选下面 此时的超链接地址全部转换为文本形式进行显示; 然后可以用全局替换搜索来处理
- Gradle 语法
参考文章: Gradle学习系列之二——创建Task的多种方法(http://www.cnblogs.com/CloudTeng/p/3417970.html) Gradle基本知识点与常用配置(ht ...
- 前端-CSS-介绍及三种引入方式
我们为什么需要CSS? 使用css的目的就是让网页具有美观一致的页面,另外一个最重要的原因是内容与格式分离 在没有CSS之前,我们想要修改HTML元素的样式需要为每个HTML元素单独定义样式属性,当H ...
- C# 获取文件名、目录、后缀、无后缀文件名、扩展名、根目录等
[csharp] view plain copy class Program { static void Main(string[] args) { //获取当前运行程序的目录 string file ...
- 获得Variant类型
function GetVariantType(const v: variant): string; begin case TVarData(v).vType of varEmpty: r ...
- Word 2003-在一个方框里打勾或打叉
最近有个同事问我,如何在Word中输出一个方框中打勾的符号?查了一下帮助,其实很简单,特记录如下,供碰到的朋友参考: 一.在方框中打勾的方法: 先输入一个大写字母R,然后将R选中,将字体改为“Wind ...
- Python内置类型性能分析
Python内置类型性能分析 timeit模块 timeit模块可以用来测试一小段Python代码的执行速度. class timeit.Timer(stmt='pass', setup='pass' ...