CSP2019游记

Day -不知道多少

第一轮

题出得挺好,终于没有鬼畜的CCF赞歌了

考得还行

Day -1

复习了Tarjan并伪证了一遍,然后颓废了

安利E17大失败

放了几十个满贯

给某同学科普了一些不好的东西,现在他好像自闭了 我谢罪

Day 0

继续肝Tarjan然后想自闭了

于是写了个左偏树,调自闭了

下午看了今年的博客 发现鸽子本性暴露无遗,跟去年完全没法比了……

看了几篇题解,越看越内疚,就关了

不敢写下去了

Day 1

(直接跳到发题)

密码认真思考……emm……

打开题,一股表达式树的气息扑面而来

T1啥玩意啊

T2啥玩意啊

T3啥玩意啊

……

仔细读题

T1好像是模拟

T2树上括号匹配子串个数?

T3……?

8:30开始写

把构造方法都告诉你了,模拟无误……

模鬼啊,2642^{64}264

下意识地转成二进制发现是个SB题,切了

8:45

T2一眼DP

用回文树的思想乱搞一下……

然后越推越自闭

……先考虑链的情况

……发现没什么区别

然后冷静下来,重新推一波,推出了一个O(n4)O(n^4)O(n4)的优秀DP做法

开始思考括号序列的性质

情况复杂是因为两个可以拼成一个

然后发现如果把一个不能拆分的合法子串称为一个"基本串",那么一个位置结尾最多有一个基本串。

证明:

反证法,设某个位置结尾有两个基本串,设为SSSTTT,其中∣S∣≤∣T∣|S|\leq |T|ST

由基本串定义,TTT的前∣T∣−∣S∣|T|-|S|TS位一定不合法

考虑括号序列的求法:将每个字符入栈

因为SSS合法,所以在栈中会消完,所以剩下的是TTT的前∣T∣−∣S∣|T|-|S|TS位,和TTT合法矛盾。

然后用栈维护基本串在哪里,记录栈顶和栈大小,回溯的时候还原

写出来一发过小样例美滋滋

……然后WA了中样例

造一组小的测出来不对,调试发现栈顶写成了栈大小……

修改后过了中样例

测大样例

激 寒 营 业 不 可 避

什么垃圾样例啊

……然后爆栈了

……然后发现忘了扩栈命令

于是开虚拟机测过了

丢了不管了

9:40

T3一眼不可做

……暴力10分差评

想了个显然的贪心,然后显然挂了

思考了一下完全没思路,10:20

骗分吧

先写个O(n!)O(n!)O(n!)

链的情况好像可以直接贪心?

写一波发现很精神污染

11:00

大脑一片混乱,于是上了个厕所(雾)

回来马上发现可以分治(大雾)

写出来不停WA,被排列过去映射过来搞晕了

把条理理清之后过了自己写的样例

……再测一组WA了

心态崩了,不写了

11:30

开虚拟机编译通过

……然后想起了扩栈命令

水过剩下30min

预计100+100+10=210

出来发现全世界都210

Day 2

由于写这篇游记时隔太久,所以忘了很多细节

打开题面,一股硬核的气息铺面而来。

T1阅读题 读了半天读懂了

T2显然不是DP就是神仙贪心

草样例三爆ull了啊

T3断一条边求所有重心标号和

感觉很可做,但就是不会做

这时

对于type=0type=0type=0的所有测试点,保证最后输出的答案≤4×1018\leq4×10^{18}4×1018

你真棒

怎么比昨天还难啊……看来错怪D1T3出题人了

开始肝T1

……相当于每行最多选1个,每列不能过半,贡献为选的所有数的积,求总贡献

显然DP

数次读错题,一直在想怎么把所有列的信息压缩,怎么都退不出来

到9:30

……10点钟想不出来就打暴力吧

脑子一闪,注意到“不能过半”,这个性质一直没用

会不会有什么特殊性质?

不能过半什么意思?就是比其他加起来都多

也就是最多只有一列过半!

然后容斥就可以了!

f(i,j)f(i,j)f(i,j)表示当前在第iii行,最多的一列选了jjj个的方案数

写了一半发现完全假了,要确定哪一列最多

f(i,j,k)f(i,j,k)f(i,j,k)表示当前在第iii行,第jjj列选了kkk个的方案数

写出来死活过不了样例

唉……?

好像某一行可以不选

可是不选的不统计入总数啊

于是极其硬核地设f(i,j,k,l)f(i,j,k,l)f(i,j,k,l)表示当前在第iii行,第jjj列选了kkk个,一共选了lll行的方案数并推出了极其硬核的方程

iii滚一下就可以了 复杂度O(n3m)O(n^3m)O(n3m) 可能卡得过去?

然后写出来极其硬核的代码,还是过不了样例

10:00

上个厕所,回来一眼就发现下标输错了(弥天大雾)

然后顺利过了所有样例

然后造一组极限数据T了

重新算一下,过得了才有鬼了……

于是只有84分 感觉很近了,但就是想不出来

10:30 弃了

后面只能暴力了……

T2推了一下毫无进展,于是直接O(n3)O(n^3)O(n3)dp艹36分走

T3直接暴力拿40,然后链似乎很好做 共计55

(实际上后面完美二叉树也水得要死)

预计84+36+55=175

那我上不了400啊……

粗略看了一下好像水不了多少分了

于是Linux编译测空间走人

–End–

公无渡河。
公竟渡河!
渡河而死;
其奈公何!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「数据分析」Sqlserver中的窗口函数的精彩应用之数据差距与数据岛(含答案)...

上一篇介绍过数据差距与数据岛的背景,这里不再赘述,请翻阅上一文。此篇在Sqlserver上给大家演示1000万条记录的计算性能。测试电脑软硬件说明一般般的笔记本电脑,2017年7月,价格:4500。电脑配置数据构造1000万行数据&a…

Codeforces Round #631 (Div. 2) C. Dreamoon Likes Coloring 构造

传送门 文章目录题意:思路:题意: 思路: 针灸思维不行,数据结构来凑呗。 一开始做的时候想简单了,一直wawawa,后来想到了hackhackhack样例,开始换思路构造,结果死活想不到…

用象棋的思维趣说IT人的职业发展和钱途

最近我花了不少功夫在学习象棋,也学习了王天一等高手的棋路,感觉IT人的职业和下棋一样,往好了讲,争主动权争实惠只争朝夕,往坏了讲,一步走错得用多步来弥补,如果错误太大未必能弥补回来。在本文…

【康复训练】[国家集训队] calc【dp】【拉格朗日插值】

传送门 显然可以dp 显然可以假设单调增,答案乘个阶乘即可 设f(i,j)f(i,j)f(i,j)表示前iii个不超过jjj的答案 f(i,j)f(i,j−1)jf(i−1,j−1)f(i,j)f(i,j-1)jf(i-1,j-1)f(i,j)f(i,j−1)jf(i−1,j−1) 注意边界是f(0,i)1!f(0,i)1!f(0,i)1! 注意边界是f(0,i)1!!f(0…

Codeforces Round #631 (Div. 2) D. Dreamoon Likes Sequences 思维 + 组合数学

传送门 文章目录题意:思路:题意: 给你d,modd,modd,mod,让你求能构造出如下序列aaa的个数模modmodmod: 思路: 首先可以发现aaa的长度不能超过log2dlog_2dlog2​d,因为如果存在两个aaa的二进制…

基于 Roslyn 实现动态编译

基于 Roslyn 实现动态编译Intro之前做的一个数据库小工具可以支持根据 Model 代码文件生成创建表的 sql 语句,原来是基于 CodeDom 实现的,最近改成使用基于 Roslyn 去做了。实现的原理在于编译选择的Model 文件生成一个程序集,再从这个程序集…

【NOI2013】向量内积【随机化】

传送门 题意:给nnn个ddd维向量,询问是否有两个向量内积(对应位乘积和)为kkk的倍数 n≤100000,d≤100,k2,3n \leq100000,d\leq100,k2,3n≤100000,d≤100,k2,3 考虑每个向量能否与之前的某一个匹配 如果我们找到某一个与之前的可…

Codeforces Round #212 (Div. 2) C. Insertion Sort 思维

传送门 文章目录题意:思路:题意: n≤5000n\le5000n≤5000 思路: 从dpdpdp题集中看到的,一看n≤5000n\le5000n≤5000,这不就乱搞就行了,哪有什么dpdpdp🦆。 看到冒泡排序&#xff0…

[Abp vNext 源码分析] - 4. 工作单元

一、简要说明统一工作单元是一个比较重要的基础设施组件,它负责管理整个业务流程当中涉及到的数据库事务,一旦某个环节出现异常自动进行回滚处理。在 ABP vNext 框架当中,工作单元被独立出来作为一个单独的模块(Volo.Abp.Uow)。你可以根据自己…

OI训练记录

2019/12/25 Linux下VS code安装、emacs基础配置、gdb简单使用 NOI2013 向量内积 构造一个貌似随便找到但复杂度不允许的方案,可以考虑弱化条件后随机化 NOI2013 树的计数 2019/12/26 NOI2013 矩阵游戏(无blog) 矩阵幂不满足费马小定理,需要推导通…

Codeforces Round #462 (Div. 2) C. A Twisty Movement dp + 思维转换

传送门 文章目录题意:思路:题意: 给你一个长度为nnn的只包含1,21,21,2的序列aaa,你可以至多翻转一段区间,求翻转之后最长非递减子序列是多长。 思路: 考虑如果翻转的话,翻转的子区间肯定是22…

使用 Cake 推送 NuGet 包到 AzureDevops 的 Artifacts 上

大家好,我最近在想如何提交代码的时候自动的打包 NuGet 然后发布到 AzureDevOps 中的 Artifacts,在这个过程中踩了很多坑,也走了很多弯路,所以这次篇文章就是将我探索的结果和我遇到的一些问题整理分享给大家。我的上一篇关于 CI/…

【NOI2013】树的计数【树的遍历】【期望】

传送门 题意:给定一棵nnn个点的树的DFS和BFS序,求树高期望。 n≤2e5n \leq 2e5n≤2e5 首先根据BFS序将树点分层,一定切记先自己把树点分层,这样实际上是在排除一部分情况。 将每一层第一个点打标记,答案就是期望标记…

Codeforces Round #632 (Div. 2) C. Eugene and an array 思维 + 前缀和

传送门 文章目录题意:思路:题意: 给定一个长度为nnn的序列aaa,定义一段区间为好区间是这段区间的所有连续子区间的和都不为000,求好区间的个数。 思路: 套路题,定义aia_iai​的前缀和bi∑j1i…

C++中vector返回值的最高效返回

返回值优化&#xff08;RVO&#xff09; std::vector<int> get_vector() {std::vector<int> v {1, 2, 3, 4, 5};return v; // 依赖编译器进行返回值优化&#xff0c;消除多余的拷贝 }虽然看起来像是在返回一个局部变量&#xff08;通常会引发拷贝或者移动&…

了解Kubernetes主体架构(二十八)

前言 Kubernetes的教程一直在编写&#xff0c;目前已经初步完成了以下内容&#xff1a;1&#xff09;基础理论2&#xff09;使用Minikube部署本地Kubernetes集群3&#xff09;使用Kubeadm创建集群接下来还会逐步完善本教程&#xff0c;比如Helm、ELK、Windows Serv…

【NOI2013】快餐店【基环树】【树的直径】【set】

传送门 题意&#xff1a;给一棵nnn个点的基环树&#xff0c;找一个点&#xff08;可以在边上&#xff09;&#xff0c;求所有节点到这个点的最大值的最小值。 n≤1e5n \leq1e5n≤1e5 先考虑一棵普通树的情况 显然是直径长度的一半 因为如果有个点大于直径长度的一半&#x…

Codeforces Round #632 (Div. 2) F. Kate and imperfection 数论 + 贪心

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; n≤5e5n\le5e5n≤5e5 思路&#xff1a; 首先有个显然的结论&#xff1a;当往集合中加入一个数xxx的时候&#xff0c;如果存在d∣xd|xd∣x且ddd不在集合中&#xff0c;那么加入ddd一定比加入xxx更优。 也就是…

.NET开发框架(二)-框架功能简述

本框架为响应式SPA框架&#xff0c;支持PC与手机端的屏幕自适应。手机展示效果视频在文章末尾查看。框架入口地址&#xff1a;http://letyouknow.net/1、框架登录界面&#xff0c;输入账号与密码&#xff0c;点击立即登录2、框架主界面&#xff0c;左-右结构&#xff0c;左边为…

杜教筛复杂度证明

我们实际上求的是这玩意 T(n)n∑i1n(T(i)T(ni))T(n)\sqrt{n}\sum_{i1}^{\sqrt{n}}(T(i)T(\frac{n}{i}))T(n)n​i1∑n​​(T(i)T(in​)) 我们只需要考虑 T(n)n∑i1n(ini)T(n)\sqrt{n}\sum_{i1}^{\sqrt{n}}(\sqrt i\sqrt\frac{n}{i})T(n)n​i1∑n​​(i​in​​) 对于之后的项&a…