ICode9

精准搜索请尝试: 精确搜索
  • CSP-S2019 划分(贪心,DP,单调队列 / 栈)2022-09-16 09:02:11

    CSP-S2019 划分 \(n\) 数组 \(a\) 要求划分成若干段每段和递不减求最小每段和平方和。\(n \le 4 \times 10 ^ 7\)。 CODE 最后一段要求最小随便证。于是转为找最大转移点 \(f[i] = j\) 满足 \(i \ge 2s[j] - s[f[j]]\)。单调队列即可。

  • CSP-S2019 树上的数(并查集,dfs)2022-09-15 19:30:24

    CSP-S2019 树上的数 \(n\) 树。\(n\) 排列卡片。\(i\) 卡片初始在 \(p_i\)。每次删一条边可以交换两端卡片。删光边最后卡片 \(i\) 位置 \(P_i\)。求字典序最小 \(P\)。 CODE 无可奉告。

  • P5664[CSP-S2019] Emiya 家今天的饭 (dp + 计数)2022-09-05 20:33:15

      P5664[CSP-S2019] Emiya 家今天的饭 (dp + 计数) 题目传送门 题目大意: 给定一个大小为 \(n * m\) 的表格 , 其中 \(a_{i , j}\) 表示用第 \(i\) 种烹饪方式并且有第 \(j\) 种主要食材的不同菜品的数量,找出至少有一种菜品,每种菜品的烹饪方式不同且满足,所有的主要食材的出现次数不超

  • P5657 [CSP-S2019] 格雷码 (找规律)2022-07-28 09:01:53

    观察几个数据,有一种思路:类似于二分,判断每一位应该填1还是0; 1 #include <bits/stdc++.h> 2 //#define loveGsy 3 using namespace std; 4 int n; 5 unsigned long long k, bk; 6 bool flag; 7 8 int main() { 9 #ifdef loveGsy 10 freopen("a.in", "r", std

  • 【题解】[CSP-S2019] 格雷码2022-07-05 23:04:39

    [CSP-S2019] 格雷码 题目传送门:洛谷P5657 [CSP-S2019] 格雷码 题目描述 通常,人们习惯将所有 \(n\) 位二进制串按照字典序排列,例如所有 2 位二进制串按字典序从小到大排列为:00,01,10,11。 格雷码(Gray Code)是一种特殊的 \(n\) 位二进制串排列法,它要求相邻的两个二进制串间恰好有一位不

  • [CSP-S2019 D2T2]划分 题解2022-06-16 20:06:49

    Preface 终于把三年前的坑填了QAQ。 这道题简直可以算卡常卡空间比赛了qwq,在线膜拜考场 AC 巨佬 Orz Analysis 这道题和 [CF229D]Towers 可以说除了恶心人的数据几乎一模一样awa 法一:\(36pts\) 首先把前缀和数组 \(s\) 求出来。 对于 \(n \le 500\),显然直接用 \(O(N^3)\) 的区间

  • luogu P5666 [CSP-S2019] 树的重心2022-05-01 20:01:41

    其实上想清楚了也是挺好写的一道题。 首先直接算实在太蠢了。还要考虑一棵树有两个重心的情况。可以考虑对于每个点算贡献。也就是算每个点作为重心出现了几次。 那么也就是要在一个子树内断一条边,考虑除了这颗子树之外的子树的大小的最大值\(\max\),最后肯定不能小于\(2\max\) 另

  • 洛谷 P5657 [CSP-S2019] 格雷码2022-02-24 19:31:10

    题目 题目传送门 题解 n = 1时序列为 0 1 n = 2时序列为 00 01 11 10 n = 3时序列为 000 001 011 010 110 111 101 100 要求\(n\)位格雷码的第\(k\)个,按照题目方法构造即可 首先格雷码肯定是分为前一半跟后一半两个部分构造的。 假设\(k\)在\(n\)位格雷码的前一半,那么它的构造方式

  • 「CSP-S2019」括号树 题解 (树的遍历,搜索,栈)2022-01-24 21:35:18

    题目简介 咕咕咕。 分析 由题,显然,单个左括号无法构成贡献。 在一对括号中,右括号的贡献是 其对应的左括号 的前一个括号的贡献 \(+1\) 。 由图了解: 节点 \(x\) 的贡献和就是 \(k_x\)。 使用\(stack\)(栈) 来存储当先节点祖先的括号情况,如果栈顶元素能够与当前节点配对,则让

  • [CSP-S2019] 树上的数 树上推理2021-11-07 22:34:55

    还没整完明天再说,靠不小心点了发布、、 Link 某些废话 devinwang勒令我们补掉CSP2019的题 /youl 看了半天题解脑子里还是浆糊,退役人是我这样的。 这篇题解写的非常清楚,我写这个只是给我自己看。 题意 现在给你一棵树,数字 \(i\) 在编号为 \(p_i\) 的节点上。 每次删除一条边,删边时

  • P5689 [CSP-S2019 江西] 多叉堆2021-10-18 23:33:19

    试着推了一下静态树的做法,推挂了。。。 考虑一个点接到另一个点会怎么样。 肯定要乘上两边的答案 \(ans_x\times ans_y\)。 然后发现有一部分分在新子树上,其余部分分在其他子树上。由于只考虑大小关系,所以 \(1 2 3\) 和 \(233 114514 1919810\) 本质上是一样的。对于两种堆不同当

  • 题解 P5658 [CSP-S2019] 括号树2021-09-07 21:34:21

    题意简述 Link 题目说的很清楚了,这里不写了。 \(1 \leq n \leq 5\times 10^5\)。 Solution 考虑如果给的树是一个序列。(下面用 \(str_i\) 表示 \(i\) 位置上的字符) 我们设 \(f_i\) 表示以 \(i\) 结尾的合法子串个数(非空),对于节点 \(i\) ,它的答案就是所有前驱的 \(f_i\) 的和,即前缀

  • [CSP-S2019] 划分 题解2021-08-18 12:35:37

    Statement 划分 - 洛谷 Solve 8pts ,暴力枚举分界点 \(O(2^nn)\) 36pts,\(O(n^3)\) \(\text{DP}\) 我们设 \(f[i][j]\) 表示前 \(i\) 个数,最后一段开始节点 \(j\) 的最小代价 设 \(sum[i]=\sum_{j=1}^ia[j]\) 那么,\(f[i][j]=min\{f[j-1][k]+(sum[i]-sum[j-1])^2\}\) 初态:\(f[i][1]=

  • P5657 [CSP-S2019] 格雷码2021-08-06 12:01:15

    链接: P5657 分析: 签到题,不过也有不少细节。 数据范围需要开 unsigned long long ,前年也有很多人因此丢了5分。 pow 会出现神必错误,需要手写一个 mpow 函数。 算法: 我是记录当前的 \(l,r\) 判断 \(k\) 与 \(mid\) 的大小,然后分类讨论倒序和正序时选左边和选右边手玩的结论。变量

  • [CSP-S2019] 划分2021-08-05 09:31:59

    考虑一个数如果可以归入两边,那肯定归入小的那边答案最小。 所以考虑我们每次都找一个满足条件的最大的位置继承。 那么有\(s_i - s_{pos} > s_{pos} - s_{m}\) 即\(s_i > 2 * s_{pos} - s_{m}\) 所以这个拿单调队列就行了。 高精度什么的不在考虑范围所以就不写了。

  • CSP-S2019-day22021-05-30 11:01:32

    CSP-S2019-day2 dp专场?! /jk pts: 64 T1: 64 T2: 0/20 T3: 0 T1 [CSP-S2019] Emiya 家今天的饭 数论,数学,容斥,dp solution 32pts: 直接暴力枚举,选哪些食材,并判断某类食材是否超标就好了 代码 48pts: 考虑 \(m = 2\) 的情况,只有两种食材,所以每种食材选的次数必须相等,直接 \(dp\),\(

  • 【洛谷5659】[CSP-S2019] 树上的数(思维)2021-05-07 13:32:24

    点此看题面 给定一棵\(n\)个点的树,每个点上有一个数字。 你可以按任意顺序删去树上的所有边,每当要删去一条边,这条边两端点上的数字将会交换。 记录\(P_i\)表示最终\(i\)所在节点,求字典序最小的\(P\)。 数据组数\(\le10,n\le2000\) 同一点的边 这道题的核心问题就在于删边顺序,因

  • 【口胡】CSP-S20192021-05-01 10:32:22

    [CSP-S2019] 树上的数 这显然是一个树上贪心的问题。 [CSP-S2019] 划分 借助干草堆的思路:所叠层数最高时,其底层最窄。 不难写出状态转移方程: f x =

  • [CSP-S2019] 划分2021-03-10 21:04:58

    题面传送 真心不想再看这道题。当年我还打了这场csp,本来我的神奇乱搞写法能拿88分。然后想再骗一点后面的大数据,结果自己把空间整爆了……赔了夫人又折兵。 乱搞做法不细说了,总而言之就是打表,然后发现是一个偶尔会下降的递增序列,然后乱搞了一下就差不多了…… 正解是单调队列优

  • CSP-S2019部分题解2019-12-17 21:01:36

    CSP-S2019部分题解 格雷码 这其实是某年的一道初赛题,但笔者刷初赛的时候嫌太麻烦了没去看. 然鹅它考了,这倒无所谓, \(D1T1\) 难度还是做得出来的. 通过观察构造方法,我们可以发现,一个有若干位的格雷码一定是从最高层起每一层都去掉一个高位,最后得到空串. 我们还可以发现,一个

  • CSP-S2019 爆炸记2019-11-24 10:04:30

    DAY -1 停课的第五天。早上来机房教练居然不在,先看了一道憨题,发现ST表+二分查找nlogn水过,然后发现单调栈可以O(n),肥肠开心 打了走人。 然后就开始颓了(逃 颓了一会之后看愤怒的小鸟这题,发现异常憨,随手打了一个发现85,加了个小优化就A了。 临走的时候对着机房喊了一声“再你妈的见”

  • CSP-S2019游记2019-11-21 16:01:30

    还是没忍住来写游记了(这几天在机房太颓了) DAY -INF SDOI2019二轮结束,面色匆忙的旅人匆匆离开。 我面对着好像梦魇一般的两天,悄悄和我最后一场非正式选手的OI比赛道了再见。 无数个只剩自己的夜里,回想着曾经一往无前的勇气。 那些遥不可及的梦啊,似在天边,似在眼前;垫垫脚仿佛就能够到

  • 关于CSP-S2019的一篇游记2019-11-21 13:56:08

    怎么讲呢? Day1:7:00左右从家里出发,准备还是做得比较充分,早饭也记得吃了。路上闭目养神了一会儿,7:50左右到了大门附近,和大家再次把一些自认为还是比较重要的数据结构之类的再复习了一下。进去后在考室外等了较久的时间,调整了下心态,终于在8:20左右踏进了考场,先确认了一下键盘和鼠标以

  • CSP-S2019游记2019-11-18 17:55:42

    DAY0 下午赶上试机,打了个线段树,听说lyl利用二十分钟打了全套高精+平衡树+线段树 我对拍还拍出错了线段树都打不对了,似乎预示些什么 晚上去的燕大食堂,饭还不错 吃完饭和yushi宾馆里看电影,不知道看了飞驰人生后半段,之后又看了动物世界??? DAY1 上午看题 决策出现重大失误,我以为我T2想不

  • CSP-S2019游记2019-11-18 13:05:30

    ——你们这个CSP啊,Exciting!   Day -26 初赛。 感觉比去年水很多啊,出来好像人均90+的样子... 咕分80+的我瑟瑟发抖 所以CSP要比NOIP简单? flag x1 终测貌似比估分高了一点 复赛线六十几是在开玩笑? 不管了准备复赛 水水水 Day -12 停课了。。 学校给我们年级搞OI的单独腾出来一个机

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有