【CSP-S 2019】D2T2 划分】的更多相关文章

前 言: 一直很想写这道括号树..毕竟是在去年折磨了我4个小时的题.... 上午小测3 T1 括号序列 前言: 原来这题是个dp啊...这几天出了好几道dp,我都没看出来,我竟然折磨菜. 考试的时候先打了个暴力,然后就开始往容斥上想.... 解析: 考虑dp. 令dp[i] 表示以i为结尾的,合法的子串数量. 令match[i] 表示进行括号匹配时,与i匹配的括号的编号. (以上i都是右括号,如果是左括号置为0即可) 然后,就有: if(match[i]) dp[i]=dp[match[i]-1…
Description 传送门 Solution 算法1 12pts 指数算法随便乱搞. 算法2 36pts \(O(n^3)\)dp. 设\(f_{i,j}\)表示以位置\(j\)结尾,上一个决策点为\(j\)时的最小值. 转移也是显而易见的: 令 \(s_i=\sum \limits_{j=1}^{i} a_j\),即前缀和. 则 \[f_{i,j}=f_{j,k}+(s_i-s_j)^2,其中 s_i-s_j \ge s_j-s_k\] #include <bits/stdc++.h>…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 为了保护环境,p6pou建设了一个垃圾分类器. 垃圾分类器是一个树形结构,由 n 个垃圾桶和 n-1 条双向传送带组成. 垃圾处理器的编号为 1, 2, ..., n,每条传送带都可以花 1 秒钟将垃圾从一个垃圾桶输送到另一个垃圾桶. 垃圾投放点是编号为 r 的垃圾桶,垃圾总是投放在这里. 垃圾共有 n 种,编号也是 1, 2, ..., n. 编号为 i 的垃…
description loj 3212 solution 首先容易想到\(n^3\)DP,即令\(f_{i,j}\)表示前\(i\)个数的划分,其中最后一段是从\(j\)开始时的答案 于是有 \[f_{i,j}=max(f_{j-1,k}+(s_i-s_{j-1})^2) \] 其中\(s_i\)是前缀和,且\(k<j,s_i-s_{j-1} \ge s_{j-1}-s{k}\) 考虑优化,可以发现对于同一个\(i\)的\(j_1<j_2\),不满足\(j_1\)条件的\(k\)也不会满足\…
嘟嘟嘟 这题真没想到这么简单-- 首先有60分大礼:\(O(n ^ 2logn)\)贪心.(我也不知道为啥就是对的) 然后又送15分链:维护两个堆,每次去堆顶的最大值. 这时候得到75分已经很开心了,但其实离AC也就差一点点. 链的做法已经给了我们提示:合并两个堆.其实这就相当于二叉树.那多叉树呢?就合并多个堆呗!从子树向上递归的时候不断将子树启发式合并,复杂度就保证了. 代码真的很短 #include<cstdio> #include<iostream> #include<…
题目 洛谷传送门 题解 就是这道题搞我退役考场上写了n^2 64分,结果爆成8-12分.直接GG. 考场上想到正解的写法被自己否决了 题解传送门(看到这道送我退役的题目⑧太想写题解) 六行O(n2)O(n^2)O(n2)DP 888888分代码 for(int i = 1; i <= n; ++i) a[i] += a[i-1]; f[0] = d[0] = 0; for(int i = 1; i <= n; ++i) for(int j = i; j >= 1; --j) { if(a…
Day0 打牌 Day1 \(T1\) 没开\(ull\), 不知道有几分 \(T2\) \(N^2\)暴力+链, 没搞出树上做法, \(70\)分 \(T3\) 标准\(10\)分( 感觉今年省一稳没了, 然后去浙大骑自行车逛了一圈, 晚上回宾馆打牌 Day2 没想到翻盘了 \(T1\) 反面做, \(N^2M\)的DP, 调了会过大样例, \(100\)分 \(T2\) 先写个\(N^3\)的暴力DP, 看起来像是决策单调? 然后写出来拍上了, 高精度不香, 懒得打--\(88\)分 \(T…
标题没错,今年就是我的最后一年了. 才高一啊,真不甘心啊. DAY1(之前的看前几篇博客吧) T1 现在没挂 T2 貌似是树形DP,跑到80000的深度时挂了,于是特判了链的情况,大样例过了,现在没挂. T3 一开始觉得有60分部分分,后来发现不可做,于是打了可能40分部分分,结果挂了30分,剩下的目前没挂. 一般发挥吧,感觉考的还行? 主要是题目难没区分度吧(笑哭) DAY2 翻车喽. 本来觉得day1打得挺好于是day2就可以放松了...然后就真的放松了... T1 24 T2 24 T3…
CSP-S2 2019 D2T2 考场上读完题感觉是DP就直接扔了开T3了,考完才发现部分分好像不难拿,枯了 题意分析 给出一个数列,要求将其分成几段,使每段的和非严格递增,求最小的每段的和的平方和. 思路分析 可以发现,分成的段越多,即合并越少,答案越小:因此我们希望每段的和都尽量小.这提供了一个贪心的思想来解题. 以上只是合情推理,大家看着开心就好,不过看起来似乎没什么问题 设$f_i$表示数列$[a_1,a_i]$最后一段的和最小时最后一个断点(若需要整段合并,则为0).这个$f_i$需要…
想到正解,不一定赢 全部打满,才是成功 Day 0 首先很感谢各位朋友送的贺卡!!! 早上10点的高铁.今年可以直接在汕头站坐高铁不用专门跑到潮汕站了,1h->15min车程,巨大好评. 虽然离 CSP - S 2019 Day 1 只有一天了,不过内心却挺平静的,这点上比去年来考 NOIP 时好多了,去年是抱着不拿一等就得回去全心学中考的心理来的,今年思想上并没有什么包袱,于是该玩玩该吃吃. 动车上白嫖了ll一碗和味道,虽然香菇鸡肉味的不是很好恰,不过加上自己那碗好歹吃了个半饱(x 今年居然不…