- 博客(116)
- 收藏
- 关注
原创 Linux命令基础(2)
可以通过su命令切换到root账户su [-] 用户名-符号是可选的,表示是否在切换用户后加载环境变量,参数:用户名,表示要切换的用户,用户名可以省略,省略表示切换到root。使用普通用户,切换到其它用户,如切换到root用户。使用root用户切换到其它用户,,可以直接切换。
2025-06-06 21:26:39
624
原创 Linux命令基础(1)
more命令 可以查看文件内容,支持翻页,如果文件内容过多,可以一页页的展示。可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里。使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改。管道符的含义:将管道符左边命令的结果,作为右边命令的输入。可以通过grep命令,从文件中通过关键字过滤文件行。被`包围的内容,会被作为命令执行,而非普通字符。通过pwd命令,可以查看当前所在的工作目录。可以通过wc命令统计文件的行数、单词数量等。可以通过find命令去搜索指定的文件。
2025-06-04 20:52:15
1010
原创 洛谷 P1758 [NOI2009] 管道取珠(DP)
可以换一种理解方式:两个人在两个独立的管道中取球,输出序列相同的方案数。个球,两个人的输出序列相同的方案数。种方案,那么两个人输出序列相同的方案总数就是。因为对于每一种输出序列,第一个人有。个球,第一个人在上管道取了。个球,第二个人在上管道取了。
2025-06-04 15:41:26
988
原创 洛谷 P1800 software(DP+二分)【提高+/省选−】
对于大于等于最优解的天数,一定能使公司交付软件。对于小于最优解的天数,一定无法使公司交付软件。的模块时,他们最多还能多做多少个软件。
2025-05-23 17:37:12
843
原创 AtCoder Beginner Contest 397 F题(线段树)
因此,对于额外产生的贡献,我们可以用线段树实现区间加法,并维护区间最大值。假设我们现在已经枚举了第一个区间与第二个区间的分界点。的数字,如果其出现了多次,则下一次出现的下标为。表示第二个区间的起始端点。如果第二个区间与第三个区间的分断点。表示第二个区间的终止端点)。个贡献,还有可能多产生。中有多少个不同的数。中有多少个不同的数。的值相同的数的下标。所以,最终的答案就是。
2025-03-16 12:04:41
1099
原创 洛谷 P1850 [NOIP 2016 提高组] 换教室(期望DP)【 提高+/省选−】
节课使用交换申请的移动耗费的体力值的总和的期望值的最小值。个教室的最短路,因为数据范围较小,使用。
2025-03-05 20:41:43
651
原创 洛谷 P3205 [HNOI2010] 合唱队(区间DP)【普及+/提高】
因为只有一个人时只会有一种方案。最后一个加入队列的是第。最后一个加入队列的是第。
2025-02-25 16:11:21
939
原创 Codeforces Round 130 (Div. 2) E. Blood Cousins(LCA+DFS序+二分)【2100】
对于第二点,我们可以按照深度,将所有节点的DFS序全部存储到vector中,因为DFS序的单调性,直接二分查找即可。对于第一点,我们可以使用LCA算法在树上倍增,实现快速查询。此题有两个要点:第一,快速找到节点。为根的子树中找到与节点。深度相同的节点的个数。
2025-01-29 09:55:46
464
原创 Codeforces Round 276 (Div. 1) B. Maximum Value(数学+二分)【2100】
在排序去重后的数组中二分查找最大的。
2025-01-28 11:43:54
971
原创 Codeforces Round 642 (Div. 3) E. K-periodic Garland(DP+前缀和)
个字符组成的花环所需的最少操作次数。,分为两种情况:第一种情况是第。
2025-01-27 14:14:58
809
原创 Codeforces Round 190 (Div. 1) C. Ciel the Commander(树的重心)
则删掉这个节点和与这个节点相连的所有边后形成的所有子树,其节点的等级必须小于。因此,我们要让分解出来的子树要尽可能的小,也就是求。个等级,所以我们考虑尽可能节省地使用他们。假设我们规定一个节点的等级为。因为我们最多只能使用。,所以本题一定有解。
2025-01-25 12:32:52
412
原创 洛谷 P1687 机器人小Q(DP)
因为要按照顺序来给机器人充电,所以考虑。个对机器人进行充电,所用的最小天数为。最小时最后一天的充电时长最短为。函数起到取最小值的作用。
2025-01-25 00:26:06
1417
原创 洛谷 P1523 旅行商简化版(DP)
我们可以将问题转化成两个人从同一个位置出发,走不同的路,最后到达相同终点的最短路径。时,第一个人走的上一个点只能是第。的所有点都已经被走过的最短路。时,其中一个人可以从第。个点,另一个人走到第。
2025-01-11 10:18:20
597
原创 洛谷 P3435 [POI2006] OKR-Periods of Words(扩展KMP+线段树做法)
因此我们可以在统计答案的过程中,用线段树来维护区间最大值,保证计算的答案是最优的。我们先用扩展KMP算法对字符串。(我们假设字符串的下标从。上的前缀最大值将变成。
2025-01-09 20:12:54
1241
原创 Codeforces Hello 2025(A—D)
首先,最优答案一定在这样的线段上:最大值和最小值分别在线段的两个端点上。如果不在端点上,我们便可以通过缩短区间来减小(r-l)的值来增大答案。
2025-01-05 13:33:40
1099
原创 洛谷 P10185 [YDOI R1] Necklace(二项式定理,快速幂)
种珠子时对答案产生的贡献。根据二项式定理,易推得。种珠子以外所有珠子的选取方案数,则。统计所有珠子对答案的贡献之和即可。种珠子对答案的总贡献为。
2024-12-06 23:19:50
750
原创 洛谷 P2380 狗哥采矿(前缀和,二维dp)
这个格子,如果向左转移矿,则其左边的格子必选全部往左转移矿,同理,如果向上转移矿,则其上边的格子必须全部往上转移矿。这个格子向左转移矿或向上转移矿时的最大采矿量。为右下角的子矩阵中,如果。来维护每一行的前缀和,用。来维护每一列的前缀和。
2024-11-29 13:50:24
1051
原创 牛客周赛 Round 69
右边的序列,我们使用二分来找到满足条件的最靠左的端点(即两刀中靠右的那一刀)对于可能选择的所有方案,使用二进制压缩,直接暴力check即可。我们暴力枚举左端点(即两刀中靠左的那一刀),最后用加法原理直接计算答案即可。赛时没做出来,过两天补上…类似于初中学过的饮马问题。先使用前缀和进行预处理。维护区间最大值,二分。
2024-11-24 21:11:27
471
原创 AtCoder Beginner Contest 381(A—F)(字符串哈希,二分,状压dp)
我们可以分别以奇数开头和以偶数开头,对两个相邻的字符进行合并。如果相邻的两个字符相等,则合并为一个,如果不相等,则合并成一个。对于字符串的匹配问题,我们可以考虑使用字符串哈希,这样可以使判断区间字符串是否相等的时间复杂度将为。进行预处理,使得枚举每一个"/"时,查询长度的时间复杂度都可以降至。所隔开的区间,用双指针求出不包含重复数字的区间最大长度即可。的长度为偶数,则其开头的第一个字符,在原串中的位置要么是。,满足条件的子序列的长度,一定是一个凸函数。对于求凸函数的最大值,我们使用二分查找即可。
2024-11-23 13:05:47
1197
原创 洛谷 P4011 孤岛营救问题(BFS分层图最短路,状态压缩)
我们考虑对已获得的钥匙进行二进制状态压缩。注意:同一个格子可能有多把钥匙,一开始的。显然,我们直接使用BFS求最短路即可。这个格子,且当前已有钥匙的状态为。
2024-11-14 21:16:14
1290
原创 洛谷 P3043 [USACO12JAN] Bovine Alliance G
很容易想到,每一个连通块之间是互不影响的。因此我们可以先计算出每一个连通块的贡献,最后运用乘法原理,将所有连通块的贡献相乘。条无向边,现在要求你把每一条无向边都变成有向边,且每个点的出度最大为。因此,我们只需要用DFS统计出每一个连通块中的点数和边数即可。如上图所示,当连通块中有一个环的时候,只有两种方案。如上图所示,在无环的连通块中,一定存在一个点的出度是。无向图中的边数 = (入度 + 出度)/,一定没有符合要求的情况,贡献为。
2024-11-14 18:50:37
793
原创 洛谷 P2966 [USACO09DEC] Cow Toll Paths G(排序,Floyd最短路)
我们可以先将所有的点按照点权从小到大排序,通过枚举中间点。,我们可以用Floyd求一遍最短路。我们用两个数组分别记录从。
2024-11-14 11:14:57
743
原创 洛谷 P1948 [USACO08JAN] Telephone Lines S(二分+01BFS)
这是一道非常经典的题。我们考虑二分最大的花费。号节点的最短路径,如果。
2024-11-13 20:01:30
1291
原创 洛谷 P2055 [ZJOI2009] 假期的宿舍(最大流)
我们可以求出从源点到汇点的最大流,如果最大流的值与源点。连边的数量相等,则存在一种方案,否则不存在方案。再根据所有的认识关系,从。
2024-11-13 17:13:52
484
原创 洛谷 P1407 [国家集训队] 稳定婚姻(Tarjan强连通分量,无向图定向)
对于求环,我们可以使用Tarjan强连通分量。但Tarjan强连通分量是基于有向图的,而我们构造的确实一个无向图。Tarjan求强连通分量,如果一对夫妻在同一个强连通分量中,则婚姻是不安全的,否则就是安全的。容易发现,上图的婚姻关系是不稳定的。因此,处在一个环中的夫妻是可以更换的。观察下图,黑色的边为夫妻关系,红色的边为情人关系。我们可以尝试给无向图定向。
2024-11-13 16:10:50
466
原创 牛客周赛 Round 67
非常明显的二分,注意此题会爆longlong,所以我这里使用了python。的最高几位,不断贪心即可。赛时没做出来,过两天补上…
2024-11-10 21:28:38
1155
原创 Educational Codeforces Round 88 E. Modular Stability
求出值域范围内有多少个它的倍数,然后使用组合数学计算答案即可。因此,我们可以枚举最小的。的倍数时才满足条件。
2024-10-29 21:13:11
1051
原创 Codeforces Round 946 (Div. 3) G. Money Buys Less Happiness Now(反悔贪心)
则需要进行反悔操作。从大根堆里面取出最大的。和一个大根堆,大根堆记录用了哪些。我们先尝试获得当前月的幸福,在每个月的月末,我们让。最终的答案即为大根堆中。我们维护当前拥有的钱。
2024-10-28 19:24:51
1133
原创 牛客周赛 Round 65(A—G)
从大到小排序,之后交换最大值和最小值的位置,遍历一遍比较谁大谁小即可。的结果刚好为病人症状的二进制数,则用当前使用药物的数量更新答案。为奇数,则不可能构造成功,因为每一次操作,都要让基地中最小的数。个药物能够治疗他的症状情况当作一个二进制数(即当病人的第。枚举每一个药物选或不选的情况。,则代表连最起码的基地都无法构造,直接输出。题,只是改一下数据范围即可。,我们考虑使用二进制状压。谁的单价低就全选哪一个。个药物,否则代表不使用第。这样的基地,否则就构造。时,才会保留药物的第。如果要求最小值:如果。
2024-10-27 21:59:28
1375
原创 Educational Codeforces Round 166 D. Invertible Bracket Sequences(线段树,二分)
想要反转一段区间之后的字符串仍然为正则括号序列,必须满足: 被反转的区间内,两种括号的数量相等。否则,反转之后的字符串绝无可能是正则括号序列。,则该区间反转之后的字符串仍然为正则括号序列。因为区间被反转之后,数组的区间最大值(因为是静态的,用ST表也可以)。的区间最大值具有单调不减的性质,因此区间右端点最大的值。上使用二分来求得满足条件的右端点的个数即可。,而想要字符串为正则括号序列,则所有的。,之后预处理出字符串的前缀和数组。枚举每一个被反转区间的左端点。,被反转区间的区间和为。的值所对应的数组下标。
2024-10-27 18:02:38
1044
原创 牛客小白月赛103(A,B,C,D,E)(模拟,找规律,计算几何,思维)
暴力枚举每一对点,求出两点所在直线的垂直平分线,扔到。的因子,根据因子,将下标分别存储到一个vector<排序之后判断一下相邻的三条边的长度是否相等。对于每一次查询,可以在vector<的排列,所以所有因子的规模是。暴力打表,肉眼观测即可。函数,我们可以倒着扫一遍。两个函数分开进行考虑。>中,可以使用map<函数,我们正着扫一遍。
2024-10-26 11:36:09
1009
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人