潘政勋

潘政勋 的博客

@潘政勋 · 3 位关注者 · 14 篇文章

公开文章

14
文章 潘政勋 2026-8-17 16:20:10

8.17 日总

1 Grouping increases{ 1. 题意:有一组数组,规定一个数组中的惩罚值为数组中任意两个构成整个数组的子序列的正序下标:bi<bi+1.求整个数组惩罚值的最小值 2. 思路:对于正序下标的求解我们可以初始化两个最大值,以便于求解剩余的正序对有多少个,如果当前的值小于当前最小值,那么将其赋值,如果不是最小值那么说明我们找到了一对正序下标,an

17 0 0
文章 潘政勋 2026-8-16 15:56:15

8.16 日总

今天的题目主要涉及到最短路,区间DP,字符串哈希等多种算法 1 Hyperset{ 1. 题意:有n个卡牌,每个卡牌对应的信息有k种,其中包含”S”,””T”,”E”三种信息。我们规定,如果每三种卡牌中的信息都不相同或全都相同,那么这三张卡牌组成的集合为好集合,求最多有多少个好集合 2. 思路:Meta-set的解法与这题类似。我们可以枚举好集合中的任意两张

17 0 0
文章 潘政勋 2026-8-15 13:05:48

8.15 日总

今天的题目有一多半7月份都是做过的 1 Accidental Victory{ 1. 题意:有一组拳击手参加锦标赛,每个人之间都有对应的编号和筹码,筹码越大的人越能打败对手,而筹码相同的人有概率能赢。打赢对手能获得对方的筹码。求最终获胜概率不为0的选手编号 2. 思路:这题首先要先搞清楚什么时候获胜的概率为0.我们都知道如果一个人的筹码值最小,那么他永远不可

12 0 0
文章 潘政勋 2026-8-14 21:37:23

8.14 大模拟

蒟蒻一句心里话,大模拟题真恶心 1 急诊就诊{ 1. 题意:有一个门诊,其中包含m个医生和k组操作: 1 A t id p k: 操作A,表示时刻t时有编号为id的病人约诊,优先级为p,治疗时间为k 2 C t id: 操作C,表示时刻t时有编号为id的病人请求取消预约,同时只有仍在等待的病人才可取消预约 3 Q t:操作Q, 表示当进行完时刻t以前的所有操

16 1 0
文章 潘政勋 2026-8-12 17:16:21

8.12 字符串综合

今天的题目主要涉及到的字符串的综合运用,以及双链表的用法,这里简单回顾一下 双链表:{ 概念: 可以兼顾前后的链表 //双链表的初始化 head = 0,tail=N-1;//头尾节点 r[head] = tail;//后一个的下标,俗称后继 l[tail] = head;//前一个的下标,俗称前继 idx = 1; //添加 e[idx]=x;//存入当前

15 0 0
文章 潘政勋 2026-8-11 20:17:12

8.11 基础算法综合

有本事就学死我(被后面两题气的直冒汗) 1 Alyone and spreadsheet{ 1. 题意:有一个二维的表格,现有q次询问,包含l和r,表示只保留表格中的第l行到第r行,请你判断区间中是否有至少一列满足元素不递减排列,如果有,输出YES,否则输出NO 2. 思路:因为我们只要求判断是否有一列满足即可,因此我们可以先将每一列的最长不递减子序列的长度

15 0 0
文章 潘政勋 2026-8-10 20:29:22

8.10 区间覆盖问题

1 Longest K-good Segment{ 1. 题意:我们规定,如果一个数组中的某一个区间内满足不同的数的个数超过k个,则称这个区间为K-good区间。请你求出最长的k-good区间,并保证区间内不同个数的数字不超过m个 2. 思路:我们需要定义两个指针来维护最大区间长度。定义一个cnt数组,如果出现不同数字,则cnt[num[i]]++,如果一开

14 0 0
文章 潘政勋 2026-8-9 16:23:22

8.9 字符串中的位运算

今天的题目简单,很简单。。。(第五题光是推公式的时间就比做前三道题加起来的时间还长,第六题没时间做了) 1 Move brackets(签到题){ 1. 题意:有一个字符串,其中有一半是左括号,一半是右括号,你可以将字符串中的任意一个括号删除并重新添加到末尾,求最少进行多少次操作才能使原串合法 2. 思路:这题如果只要判断合法的话非常简单,只需要扫描一遍字符

18 1 0
文章 潘政勋 2026-8-8 17:48:30

8.8字符串

今天题目除了有思维难度以外没什么好说的(第五题一开始连题目意思都没读懂。。。) 1 Spelling Check{ 1. 题意:给定两个长度相差为1的字符串,求最终字符串a是否能通过删除其中一个字符得到字符串b,如果能,输出每个可能的删除位置,如果不能,输出0 2. 思路:因为只要求删除一个字符,所以我们可以先算出这两个字符串中已经可以匹配的前缀和后缀,然后

19 3 0
文章 潘政勋 2026-8-7 18:15:51

8.7 STL容器

今天应该是8月以来最简单的一次,我也是捡了个漏 言归正传: 今天主要讲了各类STL容器的使用方法,这里简单普及一下几种常见的STL容器的内置函数,以及都能解决什么问题: 1 unordered_set/unordered_map:{ 1.性质:无序集合,map可以代替字符串哈希 2.内置函数:1 删除:set.erase() 2 添加:

12 0 0
文章 潘政勋 2026-8-6 21:38:18

8.6 最短路

今天的题目看完思路以后感觉不是很难,但是我为什么空着三道题呢?没事,我是蒟蒻我有理 1 Jumping on the walls(签到题){ 1. 题意:有两个长度为n的墙,你可以操控你的忍者朋友在其中穿梭,当你在一堵墙上时,你可以选择上下移动,如果你选择跳到另一堵墙上,那么你将向上跳动k个距离,但前提是不能落在字符为X的下标上,且每隔一秒都会有水涨上一米,

11 0 0
文章 潘政勋 2026-8-5 20:10:53

8.5 位运算

各位大佬都只有两三百分,那我拿160几好像也不奇怪了哈 今天的内容主要用例题展示: 1 AGAGA XOOORRR{ 1. 题意:每相邻两个数之间异或,求最终是否能留下两个相等的值 2. 思路:先扫描一遍数组,用一个初始值pre=0对所有数进行异或,如果最后恒为0说明一定可以,没有的话再判断能否分割成三段及以上的段使得段内的异或值为0,有则为YES } 核心

12 0 0
文章 潘政勋 2026-8-4 20:28:51

8.4 DP综合

今天主要做了树形DP,线性DP和区间DP三大DP类型,以及如何考虑一道DP题的做法。下面简单普及一下各类DP的思考模式和模版,以及如何判断一道题是哪种DP类型:{ 1线性DP:{最常见的DP类型,主要是考虑当前位置和过去位置的一个状态贡献,一般只要能想到前面的状态是如何影响后面的状态就能做出来 } 2树形DP:{ 1.思考形式:个人认为主要是在普通DP的模式

14 0 0
文章 潘政勋 2026-8-4 8:57:29

8.3状态压缩

1 Qualification Rounds《状压典例》{ 1. 题意:判断一组数组当中是否有一个问题子集使得所有组做过子集当中问题的个数不超过子集的一半 2.思路:只有一两道题也可构成子集,所以只要先能找出所有组都没做过的题就可直接输出YES,否则还可以找第二道,使得所有组做过这两道题的个数为1或为0,因为队伍数至多有k个,所以最多有2^k种状态,因此当有

16 0 0