首页 > TAG信息列表 > 考虑

动态规划题目选解(二)

上一个写太长导致 typora 卡爆了,只好新开一个。。 动态规划题目选解(一) CF730J Bottles Present 4 首先 \(k\) 很好算出来:记 \(\sum a_i=\text{sum}\),从大到小贪心选到 \(\sum b_i\ge \text{sum}\) 即可。 考虑 \(t\) 怎么算:如果我们选出的这 \(k\) 个瓶子内的水量分别为 \(x_1,x_

HN省队集训2021题解

不知道写什么题于是补一下去去年的集训题 部分题没补,都是题目涉及的算法我还没学过,分别是d1t3,d3t2,d4t2,d7t3,d8t2 空白部分是准备改但还没改的题 Day1 T1 数列 设 \(f_i\) 表示以 \(i\) 结尾的最大值,设 \(l_i,r_i\) 表示 \(a_i\) 覆盖到的左右端点 考虑写出一个比较显然的式子:

AGC058(A,B)

不会。。。 https://atcoder.jp/contests/agc058 A 考虑奇偶位,枚举偶位然后将相邻三个的最大值挪过来即可。 B 考虑操作不大好搞。从合法答案序列入手 每个数只染一个连续段:因为每个数都是从中间向两边扩展的。假如染两个,若中间存在大于它的,显然不合法。若存在大于它的,显然应该二

UOJ #751 -【UNR #6】神隐(交互题)

被杀爆哩 /ll 首先很明显,这个 \(\text{lim}\) 是 \(\log\) 级别的,那么我们考虑对每个二进制位进行询问,即,考虑每个二进制位,问一遍该二进制位为 \(1\) 的那些边,再问一遍该二进制位为偶数的边,这样对于一个点 \(x\) 而言,对于与其距离 \(\ge 2\) 的某个点 \(y\),假设 \(x,y\) 路径上的两

P3452 [POI2007]BIU-Offices & ZLOJ 练习56 D

written on 2022-08-01 第一道补上来的链表题,纪念一下。 链表一般在需要高效地删除或添加元素时使用。由于修改操作是 \(O(1)\) 的,正是由于链表这一区别与普通数组的最大优点,一般在要删点的题目中偶有遇到。 具体到这题,可以先尝试暴力的思路。考虑建出原图的补图,用并查集维护集合

7.25-7.27 总结

颓 这就3天了?我都干了啥?做了几个题? 第一:模拟赛总结。 今天,2022 年 7 月 27 日,grass8woc 怒挂 190 分 打破了选手 草吃牛 在 2019 年 11 月 16 日(CSP-J 2019)创下的挂 140 分纪录,恭喜 grass8woc 很久没挂过那么多分了,但感觉这次挂那么多分也是一种必然。暑假以来人一直很懒。前面

CF285E口胡

果然数数题比什么阴间巨大多细节哈希点分治简单多了 恰好太难了,考虑容斥,考虑钦定 \(m\) 个位置满足 \(|i-p_i|=1\)。 很明显有 \(f(m)=\sum_{i=m}^{n}\binom{i}{m}g(i)\),二项式反演一下就有 \(g(m)=\sum_{i=m}^{n}\binom{i}{m}(-1)^{i-m}f(i)\)。 设 \(dp[n][m][0/1][0/1]\) 表示

LGP3322口胡

首先可以观察得到两个结论: 交换两个操作的操作顺序不会影响操作序列是否合法。 显然是正确的,模拟一下即可。 任意操作序列无法使序列变回原本的序列。 考虑最长的操作和别的所有的操作,区间长度不相同,因此一定有元素被 swap 了。 以上两点告诉我们,答案只有一种,只需要求出操作数

写代码有这16个好习惯,可以减少80%非业务的bug

每一个好习惯都是一笔财富,本文整理了写代码的16个好习惯,每个都很经典,养成这些习惯,可以规避多数非业务的bug!希望对大家有帮助哈,谢谢阅读,加油哦~ 1. 修改完代码,记得自测一下 「改完代码,自测一下」 是每位程序员必备的基本素养。尤其不要抱有这种侥幸「心理:我只是改了一个变量或者我

[SCOI2009]粉刷匠

首先,这题明显是有无后效性的,所以我们并不需要对顺序进行过多的考虑 感觉有一点像完全背包 所以我们考虑f[i][j]表示考虑刷到i,刷了j次最多可以正确粉刷多少个 然后我们再考虑g[i][j][k]为第i块板刷了j次,而且刷的是前k个 当我们考虑第i个刷了k次时 f[i][j]=max(f[i][j],f[i-1][j-k]+

总结

2022.1.19总结 1075. 【GDKOI2006】新红黑树 看到\(n \le 20\)想到了状压,但有些小问题。赛后发现只需要改成记忆化搜索,对最优的决策的选择会方便许多。 1077. 【GDKOI2006】防御力量 考场没有什么想法,还看错了\(n\)的范围,没有想过\(n^2\)的做法。 其实只需对\(A\)城做直线,考虑直线

关于排列的问题小结

CF-GR20题解 一场全是排列问题的CF ICPC21SH B 关于排列的容斥计数题 CF-R803div2E-2300 先考虑如何判断一个确定的排列置换是否合法: 1.对于排列置换的环,考虑每次交换的影响,发现就是把一个点去掉;那么对于每一个数,只要判断它在环上的后面的第一个比它大的数即可。 2.进一步可以发现

LGP7445口胡

根据期望的线性性,考虑某个节点会做 pushdown 的概率为 \(P_u\),答案显然就是 \(\sum P_u\)。 考虑一个节点不会被做 pushdown 的概率为 \(p_u=1-P_u\),设这个节点所代表的区间为 \([l,r]\),那么这个节点不会被做 pushdown 当且仅当所有包含这个区间的修改中,加起来的权值和为 \(0\)。

[CF1699E] Three Days Grace 题解

CF link 你谷 link 一道非常巧妙的 dp 题,但是顺着思路水到渠成并不是完全无迹可寻。 首先观察到题面中答案的形式是最值相减,提醒我们使用双指针的思想,即枚举最小值的过程中动态单调维护最大值,同时注意到本题中的操作类型是将一个数拆成两个数相乘的形式,所以可以想到是从大到小枚举

总结出现问题后应该考虑到的点

1、节点出现问题,一定首先要看硬盘(df)以及内存(free -m) 一定要看!!!   2、抓包工具启动的过程中(Charles)会影响某些连接,可能会产生许多奇怪的问题   3、当查询到的数据与数据库中的数据不一致的情况下,首先考虑缓存(缓存是否与数据库中的数据不一致了)

2022 训练实录

22-06-24 NOIO2020 #2 游戏 好久没搞 OI 真的蠢了。 恰好立刻转至少,所以设 \(f(x)\) 为钦定 \(x\) 对非平局回合的情况,\(g(x)\) 为恰好 \(x\) 对非平局回合的情况。那么: \[f(x)=\sum^m_{i=x}\binom i n g(i) \]应用二项式反演有: \[g(x)=\sum^m_{i=x}(-1)^{i-x}\binom i n f(i) \]

DTOJ #5864. 排队 题解

T1 排队(queue) 求长度为 \(n\) 的排列,有 \(m\) 个峰的方案数。 可以暴力打出 \(n\le 10\) 的情况,然后把数据放到 oeis 上。 显然可以递推。我们记 f[n][k] 表示长度为 \(n\) 的排列有 \(m\) 个峰的方案数。 考虑在 f[n-1] 的基础上考虑加入一个 \(n\)。 如果 \(n\) 放在某个峰的

「AHOI2022」山河重整

今年的独立命题除了福建都很一可赛艇啊! 首先有个经典结论是,如果选出的子集 \(S\) 合法,那么 \(\forall i, \sum_{j \in S,j \leq i} j \geq i\)。 那么可以得到一个 \(O(n^2)\) 的 DP。定义 \(dp_{i,j}\) 为在前 \(i\) 个数中,可以构出 \([1,j]\) 内的所有数(第二维与 \(n\) 取最小值

联合省选 2022 解题报告

D1T1 preprocessor 直接模拟。 D1T2 tree 极差不超过 \(K\),考虑计算树上路径选值中最小值为 \(v\) 的方案: 将所有 \([l_i,r_i]\) 对 \([v,v+k]\) 取交后的答案减去 对 \([v+1,v+k]\) 取交的答案即可。 容易编一个树形 dp 做到 \(O(nr)\),拿到 40pts。 考虑值域很大的情况进行离散化

Codeforces Global Round 20

比赛链接: https://codeforces.com/contest/1672 D. Cyclic Rotation 题目大意: 长为 \(n\) 的序列 \(a\),每一步操作可以选择 \(i\) 和 \(j\),要满足 \(a_i = a_j\),然后让 \(a[l...r] = [a_{l + 1}, a_{l + 2}, ... , a_{r}, a_{l}]\)。 给一个序列 \(b\),它是 \(a\) 的排列,问 \(a\)

基础 dp 二十六题

题有点多,例行的简要题意环节就无了。这些题都是各个类型的 \(\rm dp\) 里最基础的,就当做再过一遍知识点吧。 A - Frog 1 最基础的一维 \(\rm dp\)。考虑设 \(f_i\) 表示走到 \(i\) 所需要的最少代价,则走到 \(i\) 可以由 \(i-1,i-2\) 转移而来: \[f_{i}=\min(f_{i-1}+|h_i-h_{i-1}

CF573B Bear and Blocks 题解

这道题有一点思考难度,需要根据题意与样例来思考。 首先我们考虑 \(a_i\) 在几次之后会降为 0。 接下来的分析只考虑这个柱子上面被摧毁的情况,不考虑左右的柱子高度为 0 的影响。 如果 \(a_i \leq a_{i - 1}\) 且 \(a_i \leq a_{i + 1}\),那么只有最上面的格子会遭殃,消耗次数 \(a_i

AGC021

AGC021 做了一下 AGC021 这套题,感觉很厉害,纪念一下,题意就不放了。 A 自己想出来了,就枚举每一位,然后后面的位可以都是 \(9....\) 之类的,前面可以卡的死一点。 B 你就考虑,既然他这个圆这么离谱,那一看起来就和这个东西没啥关系啊。 显然只有凸包上的点才有可能有答案诶。 然后维护一

未来的规划

 大学期间打算专升本,升本后再考虑是否继续深造,但是我还是希望可以多学些有用的知识来丰富自己。  大学毕业后,我打算去面试企业,从事一些自己学习的专业的工作,从而来丰富自己的工作经验,在工作期间再考虑是留还是走,我自身丰富经验的目的其实是为了更好的创业,给自身创新创业打下技术

关于毕设

  可能大一到大四一直都没怎么关注过到底喜不喜欢计算机这一门课,所有的课程都是虚度过去的,四年也算是收获甚微。 大三的时候还在考虑毕设要不要做一些别出心裁的东西,但是现实还是给了沉重的一棒。 毕设四人一组,还是选择了最俗套的库存管理系统,用了Springboot全家桶+Vue+MySQL的