11 2021 档案
摘要:已经不知道这篇博客写给谁看的了。 T1 bracket Sol 维护一个栈,计算每个位置被统计了多少次就是一个乘法原理,然后直接差分即可。 Code #include<bits/stdc++.h> using namespace std; #define int long long namespac
阅读全文
摘要:Day-6 快乐摸鱼,完全意识不到离退役已经不足一周了。 开了几个贴纸,出了金色森破,回本。 回了学校发现快退役了,和同学聊起了40年后QGOI聚会还能来几个人的事。 Day-5 考试,日常做不来恰烂分。就这点水平还考什么NOIP,11点50直接开始安装爪哇,写四道题得分三位数都无。 居然有三位数/
阅读全文
摘要:T1 maware Sol 显然的60分做法是直接维护二维前缀和,复杂度$\mathcal{O}(n4)$ 看范围像是$\mathcal{O}(n3\log n)\(,很容易发现只有矩阵外的1个数能整除全部数个数的时候有可能有解。因数个数在随机情况下期望\)\log n$个,所以可以枚举因数,然后枚
阅读全文
摘要:T1 gem Sol 只会30分的记搜。以前做过一样的,这次写的DP,记录当前用了几枚红/蓝宝石,目前最多红-蓝/蓝-红后缀是多少。转移方程很显然。 T2 sale Sol 看完题很快就想到矩阵快速幂,然后发现是原题。 原题CF514E Darth Vader and Tree比这个甚至还多套了一层
阅读全文
摘要:T1 a Sol 典中典考后简单题。考场咋就做不对。 不过反悔贪心确实写的比较少。把所有区间按照左端点排序,然后枚举每个点查看之前尚未匹配的区间是否有与该区间不交的,不交则配对,否则查看是否有已配对的且右端点更加靠左的,有就反悔修改,否则新增一个未配对点。当前未配对和已配对点维护右端点从小到大的堆即
阅读全文
摘要:其实是新贺题目 T1 靶向药物治疗 合着靶向药物在我体内逛街呢,还字典序最小。 原题P5022 [NOIP2018 提高组] 旅行 Sol 显然从1出发。 对于一棵树就直接贪心选取子节点中编号最小的跑。 对于基环树就枚举删掉环上哪条边再跑树上的解法。 加强版可做$n\leq 10^5$,在树的基础上
阅读全文
摘要:T1 漂亮厨师 Sol 分块维护数列求合法数个数,然后莫队/分段打表求组合数。 Code #include<bits/stdc++.h> using namespace std; inline void File(){ freopen("cook.in","r",stdin); freopen("c
阅读全文
摘要:T1 构造(ryx) Sol 先考虑如何构造能最大化ryx个数:因为y在最终间,几次尝试后发现当数列为$ryxy$重复的时候答案最优。如此可以构造出一个40×40的矩阵,这个矩阵中ryx的个数为$(340-2)(10*2-1)=2204$。然而不难发现,最后一列全部是y,对答案没有贡献,考虑将横排的
阅读全文
摘要:T1 逻辑表达式 Sol 先把操作序列读入下来,然后把数存下来跑。 若要求出原式子计算结果,那就是一个栈,遇到操作符号就弹栈即可。再维护两个栈分别表示让栈顶元素为0或1的最小花费,一直做到最后即可。 注意字符串数组大小要开四倍。 Code #include<bits/stdc++.h> using
阅读全文
摘要:T1 下棋 Sol 直接记搜就可以了,记$f[i][j][k][l]$表示当前放了$i$个白棋$j$个黑棋,直至目前白棋$-$黑棋最大值为$k$,黑棋$-$白棋最大值为$l$。 能放黑棋白棋就枚举放置即可。 Code #include<bits/stdc++.h> using namespace s
阅读全文
摘要:T1 并王(bing) Sol 卡常臭题。但是关我一个考场写$O(n^3)$暴力什么事呢? 好像可以优化到$\sum_{i=1}n f(n)$,$f(n)$表示$n$二进制下1的个数。但是这是基于随机数据优化。如果全部是$2{64}-1$那效率甚至不如我的。 按位统计。从左往右: 如果第$i$个数二
阅读全文