自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(240)
  • 收藏
  • 关注

原创 Luogu P1509 找啊找啊找GF 背包问题和次要性DP

找啊找啊找 GF,找到一个好 GF,吃顿饭啊拉拉手,你是我的好 GF。再见。“诶,别再见啊…”七夕… 七夕… 七夕这个日子,对于 sqybi 这种单身的菜鸟来说是多么的痛苦… 虽然他听着这首叫做“找啊找啊找 GF”的歌,他还是很痛苦。为了避免这种痛苦,sqybi 决定要给自己找点事情干。他去找到了七夕模拟赛的负责人 zmc MM,让她给自己一个出题的任务。经过几天的死缠烂打,zmc MM 终于同意了。

2024-09-23 15:28:45 593

原创 DP子序列问题

加强版,需要我们对能够匹配出来的子序列的个数进行计数。了,因为现在我们需要计数,而不是计算长度。这是个很难理解的过程,可以进行画图理解。的时候,我们不能够仅仅使其从上一个状态加。个字符一直无法匹配上的时候,我们维护的。个字符时能够计算的子序列个数的最大值。匹配上的字符串长度,那么只要是最后的。匹配上或者没匹配上的状态。没有匹配上的状态,同时。这个状态也继承了前面。,是一种递推的关系。

2024-09-17 14:50:59 199

原创 P1439 【模板】最长公共子序列 (线性DP,LCS + LIS)

给出12n的两个排列P1​和P2​,求它们的最长公共子序列。

2024-09-17 10:20:23 924

原创 Luogu P2340 [USACO03FALL] Cow Exhibition G (线性DP 01背包转化)

奶牛想证明它们是聪明而风趣的。为此,贝西筹备了一个奶牛博览会,她已经对N头奶牛进行了面试,确定了每头奶牛的智商和情商。贝西有权选择让哪些奶牛参加展览。由于负的智商或情商会造成负面效果,所以贝西不希望出展奶牛的智商之和小于零,或情商之和小于零。满足这两个条件下,她希望出展奶牛的智商与情商之和越大越好,请帮助贝西求出这个最大值。

2024-09-16 17:32:35 718

原创 P1435 [IOI2000] 回文字串 (线性DP)

IOI2000 第一题。

2024-09-16 12:02:53 783

原创 Luogu P1874 快速求和 (线性DP)

给定一个数字字符串,用最小次数的加法让字符串等于一个给定的目标数字。每次加法就是在字符串的某个位置插入一个加号。在里面要的所有加号都插入后,就像做普通加法那样来求值。例如,考虑字符串12,做0次加法,我们得到数字12。如果插入1个加号,我们得到3,因此,这个例子中,最少用1次加法就得到数字3。再举一例,考虑字符串303和目标数字6,最佳方法不是3+0+3。而是3+03。能这样做是因为一个数的前导0不会改变它的大小。

2024-09-16 09:47:37 1033

原创 P1544 三倍经验 (记忆化搜索)

数字金字塔由n行整数组成,第i1≤i≤n行有i个数字,一个示例如下。现在你在金字塔的顶部(第一行),你希望走到金字塔的底部(第n行),每一步你只能走向当前所在位置的左下方的数字或者右下方的数字。同时作为一个强大的小朋友,你可以选择金字塔中的不多于k个数字让他们成为原来的3倍。你会收集你路上经过的所有位置上的数字,最后的得分即为收集的数字之和,求最大得分。

2024-09-13 15:21:45 959

原创 P1514 [NOIP2010 提高组] 引水入城 (记忆化搜索)

第一道蓝题纪念。

2024-09-12 18:54:30 604

原创 Codeforces Round 969 (Div. 2) C. Dora and C++ (裴蜀定理)

取模,这样就能够得到所有数的最简形式(可以当成是让所有数尽可能消去。所以在这时候我们就可以让输入的所有数都去对。那么在取模之后我们现在排序,得到的极差就是。可以想到使用同样是需要给出两个定值的。由于这里给出了a和b两个数,我们。的判断,因为不排除有这种情况存在。,那么这里我们还要进行一次。,这样我们会取到最优解。

2024-09-10 10:35:11 562

原创 双指针+二分 标签刷题(*1400)

在一段数字中,如果有一个数字的某一个数位出现0,那么就会在与运算之后导致这个数位一直是0,那么如果对所有数字的数位进行前缀和计数处理,就可以在查找时判断出中间是否有某个数字的某个数位有0,如果有,那么结果上来看那个数位就要保持为0,否则就是1。,在这里我们从前往后遍历数据库字符串,如果出现了符合l和r中间要求的数字,那就记录下来并标记上这个数字,当当前的l和r的中间所有数字都出现过一次之后,就说明我们的所有可能性都被搜到了,那么我们就去搜下一个l和r。在这里使用双指针,一个指针指向。

2024-09-03 12:30:08 248

原创 Codeforces Round 913 (Div. 3) D. Jumping Through Segments (二分*1400)

那么为什么扩展区域的方法是对的,其实我们的区域代表的是我们在上一次移动之后有可能到达的区域,也就是说在这里并未规定确切的到达的点位,而是使用了一个区域来代表所有可能的点位。在一开始我们设定左右边界为0,每一次进行扩展的时候,我们就去观察向左扩展k和向右扩展k是否能有一种情况延伸到下一个节点的端点,如果延伸到了就代表着这个节点我们能够移动到。找距离肯定是不难,难就难在我们输入的区间并不是按照左右顺序排列的,有的区间可能涵盖住了另一个区间,也就是说在这里我们需要进行的是。

2024-09-01 20:06:03 332

原创 Codeforces Round 107 (Div. 1) A. Win or Freeze (博弈论 + 数论*1400)

来唯一表示,那么我们就可以知道在一步之中一定可以实现将某一个数变为。以上是约数个数大于等于3的情况, 在其他的情况下就一定是后手获胜。如果一个数是质数或者是1,那么一定是先手获胜,因为不能操作。,后手必须除一次,然后先手无法操作,就取得了胜利。我们知道,一个数一定可以由。

2024-09-01 15:32:25 432

原创 1749C C. Number Game(博弈论*1400)

因为每一次鲍勃加的时候会加到k - i + 1,而爱丽丝下一次选又必须选小于等于k - i - 1 + 1的元素,所以只要是鲍勃操作过的数爱丽丝一定没办法选,则我们不如就让鲍勃每次都选最小的。因为最大的数有可能已经超过爱丽丝能够选择的范围,而更小的数更有可能被爱丽丝选择,那么只要鲍勃保证选择最小的数,就能够保证对自己的最优解。

2024-08-27 10:51:03 251

原创 Codeforces Round 916 (Div. 3) E1. Game with Marbles(博弈论*1400)

然后我们使得这时候爱丽丝的操作为取回弹珠,即她可以选择一种颜色的弹珠,并且直接取回,鲍勃的操作为选择一种颜色的弹珠,并且进行保留,使得爱丽丝无法取回这个颜色的弹珠。这时候可以先假设鲍勃已经取走了爱丽丝的所有的颜色的弹珠,(并且以每个颜色一个弹珠的代价)。如果你直接想的话,你就会发现有很多做法可以选择,而你根本不知道应该选哪个。,因为她取回的时候会连带着鲍勃本身就有的取走(呼应本来的题目要求)。从大到小排序之后,两者都去选择更靠前的颜色i进行操作。更大的组合的话,就能够获得更多的收益。这时候每一项得分就是。

2024-08-26 22:16:54 604

原创 Codeforces Round 926 (Div. 2) C. Sasha and the Casino (博弈论*1400)

这里注意避开一个思维误区,如果你想的是前x次一直用1枚硬币然后吃第x+1次保底,那么就是错误的。你应该考虑到如果前x次里面出现了胜利呢?而这个m就代表了前x+1次里面的每一次我们都要这么计算,只需要维护一个前缀和变量就可以了,如果到x+1中间出现了花费大于本金,那么就一定没办法一直赚钱。所以我们要假定:前x+1次,每一次都有可能胜利,并且每次胜利我们都需要使得自己能够赚回本金并且获得利润。这里的意思是想让我们求得是否是能够实现不停地无上限的赚钱。这里假设我们第i次投入的硬币数量为。而当前我们投入的硬币是。

2024-08-26 18:55:23 618

原创 Codeforces Round 925 (Div. 3) E. Anna and the Valentine‘s Day Gift (博弈论*1400)

注意这里的拼接,如果你使用两个有后导零的数进行拼接是无意义的,因为后面的后导零一定会被删掉,所以不必思考谁拼前面谁拼后面,我们只要让所有的含有后导零的数都拼到前面就可以了。在这道题里,安娜能够对数位进行的操作只有删去后导零,由此来减小数位,所以他的最优策略就是删去最多的0,而萨沙也会尽量保留下来0,使用0多的数去拼接。根据题目条件,我们知道10的m次方就是1后面跟着m个0,也就是说这是个最小的m+1位数。那么只要是最终得来的数的尾数是m+1位数就可以通过。思考影响数位的因素?

2024-08-26 12:39:03 224

原创 Codeforces Round 938 (Div. 3) D. Inaccurate Subsequence Search (滑动窗口,判断区间内匹配个数(排序后))

不难看出,我们的c是从a中取一段连续的子段,然后可以进行重新排序,使得其与b数组匹配起来的数量大于等于k。因为区间的长度已经被规定,那么我们只需要枚举a数组的m长度的区间就可以了。那么重新排序就意味着只要区间内有相应元素就可以,并不需要保证顺序。就可以了,这里主要要区别重复计算已经算过的有的元素。对于每个区间,我们只需要。

2024-08-14 17:17:40 176

原创 Blender操作记录

快捷操作G移动/独立显示模式x删除s缩放ctrl + D合并多个模型h隐藏~找到物体z调出菜单tab调出菜单L按材质选中模型

2024-08-03 20:48:09 327

原创 Codeforces Round 946 (Div. 3) C. Beautiful Triple Pairs (容斥原理)

根据题目,我们分别调取对于当前遍历到的三元组,第一个数不同其余数相同,第二个数不同其余数相同,第三个数相同其余数不同,所有数都相同的数量,然后加上前三个减去最后一个的三倍,具体原因见下图集合关系。在算完当前这一层循环之后,我们更新下这些情况下的数量,供之后的三运组进行运算。注意这里的三元组是按顺序找出来的,不能够随便组合。由于数组长度不算很大,我们可以实现一层循环。

2024-07-31 17:17:10 200

原创 Codeforces Round 951 (Div. 2) C. Earning on Bets (数学)

首先题目的意思是你要给n个结果都分配硬币,这些结果中只有一个会获胜,并给你你分配的硬币乘以k的硬币。这就是最终的式子了,但是题目要求分配的是正整数,不能分配分数个硬币,所以我们直接求出所有。那么根据题干就可以得到最直接的一个式子,假如我们把我们分配出去的硬币的和设为。,注意这里赢得的硬币你必须要满足n种获胜的情况。那么就说明这种分配方式是存在的可行的。所以我们每个硬币分配的数量都应该大于。的公倍数,让这些分数全部化为整数。并且你分配的硬币之和必须要小于你。,每个情况分配的硬币设为。

2024-07-29 14:26:34 389

原创 Codeforces Round 962 (Div. 3) C. Sort (前缀和,字符串)

并且也应该确定这道题每次操作是独立的,也就是说你不能够确定一个总的范围来直接全局操作。但是每次直接从询问中进行操作一定是不可能的,所以我们必须想出一个预处理的方法,在预处理之后能够。那么我们只需要建立两个二维前缀和数组,分别记录a和b的26个字母前缀和,并且每次在查询的时候进行26次循环,一定不会超时了。对于这道题,稍微一思考就知道需要我们做的是:确定每次给出的范围内两个字符串中。这道题做的并不算好,因为花了太长时间来思考了,思路偏了好几次。每次给出一个范围我们都能知道a和b之间有多少个字母是不一样的。

2024-07-27 11:58:50 401

原创 Codeforces Round 962 (Div. 3) D. Fun (数学,暴力枚举)

那么直接从二者中取最小值就可以了,值得注意的是,当其中有最小值取成了负数的时候,就代表了没有可用的c,直接跳过就可以了。如果我们要直接枚举a,可以知道a的范围是 1 ~ n/2 ,因为假如使得b和c都取到最小值,即1,那么就能够通过式子。这时候仔细思考一下题目,我们要求的是整个小于等于一个范围内的数,所以只要是我们找到了一个最大值,那c的取值范围可以是。,这个式子当然是没问题的,但是会导致取到的范围精度变化了,也就是说中间范围不准了,对我们这道题是不适用的。知道了a的区间,我们来思考b的。

2024-07-27 11:51:01 529 2

原创 Codeforces Round 949 (Div. 2) B. Turtle and an Infinite Sequence (找规律,位运算)

所以只要求这一段的或运算和就行了,至于快速或运算的模版直接背下。不知道为什么会有找规律这种nt题型。

2024-07-26 20:13:08 299

原创 C++学习(工程向)面向对象

C++执行代码时,内存分为四个区域。

2024-07-26 17:18:17 812

原创 Codeforces Round 955 (Div. 2, with prizes from NEAR!) B. Collatz Conjecture(数学)

当x = 1的时候,每次加y-1次再经过除操作,就又会回到1,那么我们直接将x加上k对y-1取模就可以。这道题考察的主要是通过数学对过程进行优化,而不是通过数学而得到结论(让人摸不着头脑)。然后进行除y操作就可以了,当k的剩余次数为0或者x为1的时候我们就直接结束加法过程。我们不需要把k次直接一次次的加,这样时间复杂度太大,那么我们现在探讨一次要加多少。我们想要实现加一个数n,满足。,那么很容易知道我们需要的数。那么我们就只需要每次x都加。

2024-07-25 22:34:03 131

原创 Codeforces Round 654 (Div. 2) C. A Cookie for You (模拟)

并且注意题干,我们可以得知当a = b的时候,第一类和第二类人可以任意选两种饼干中的一种。首先我们知道当a + b < n + m的时候,饼干总数都不够人的总数,那肯定是NO。我认为这道题就是个脑筋急转弯。之后我们可以分类讨论一下。

2024-07-25 13:48:56 400

原创 EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2) C. Basil‘s Garden --- (贪心)

可以进行分类讨论一下。在这里我们在整体的维度上进行考虑,而不去从每一部分所需要时间加起来的维度。首先我们知道,这些个数之间只会有两种情况,第一种是。才会被减少,那么这两个数都被消去的最短时间就是。,那么我们直接就可以把两个数都消去,会花费。,然后去遍历数组求得最大的时间就可以了。,所以我们只需要将答案初始值设置为。在初始情况下,我们一定会消去。,那么我们知道只有当。

2024-07-19 18:32:45 784

原创 Codeforces Round 672 (Div. 2) C1. Pokémon Army (easy version) (DP)

我们要在一段序列中取出一段子序列,然后让这段子序列按顺序逐个先加后减最终得到的结果最大。只有第i-1次加过了一个数的状态才能够进行减操作或者不进行操作,这时候的状态表示为。如果要用DP,那么我们首先就要思考怎么表示状态,并且怎么扫能够把所有情况都涵盖。次处于减过了一个数的状态才能够进行加操作或者不进行操作,这时候的状态转移方程就是。不知道能不能用贪心,反正我是没看出来,所以用DP求解。的状态,也就是说我们刚刚减完,另一种是。的状态,这时候我们刚刚加完一个数。表示上一次减完的状态,表示上一次加完的状态。

2024-07-18 11:34:23 295

原创 Bubble Cup 13 - Finals [Online Mirror, unrated, Div. 2] --- G. Years (DSmap)

我们可以看到题目也给出了一定的提示,输入的b和d代表了一个人的出生和死亡年份,那么也就是说,假如我们假设出眼前有一个时间轴,那么就代表着b这个时间点人数增加了1,d这个时间点人数减少了1,那么我们现在需要找到所有时间点中人数最多的一个时间点和那个时间点的人数。记录的是增减情况,有正有负,所以从第一年累加到第k年,这个变量累加来的结果就能够代表第k年的人数多少。我们用map来记录每一年的人数增加和减少情况,然后我们可以用一个变量来累加,首先会想到树状数组或者差分,但是数据范围为1e9,所以不可取。

2024-07-17 22:20:50 306

原创 Codeforces Round 675 (Div. 2) --- B. Nice Matrix (数学,模拟)

这道题主要的难点是我们怎么找到一个数,让这四个数与找到的数的差的绝对值之和最小。通过中学知识,我们知道对于偶数个数的中位数应该是中间两个数的平均值。这是一个数学结论,假如我们要找这样一个数。应该满足是这些数的中位数。能够取到最小值,这时候。在本题中应该被满足。

2024-07-17 21:21:30 958

原创 Educational Codeforces Round 112 (Rated for Div. 2) C. Coin Rows(构造 + 贪心 + 前缀和)

所以可以求出来第二行的后缀和,然后求出来第一行的前缀行,这样鲍勃在爱丽丝分割之后的情况下就会选择这两者中最大的一段,然而爱丽丝也会阻碍鲍勃得到分数,那么就需要在所有取这两段中最大值的所有情况中取最小值。那么我们知道鲍勃能够选择的位置只有两段黄线中的一段。可以知道爱丽丝的路径是拐两次弯的折线。

2024-06-28 17:05:50 179

原创 Deltix Round, Summer 2021 (open for everyone, rated, Div. 1 + Div. 2) B. Take Your Places! (贪心 + 模拟)

分析:由于题目1s的时间限制,与1e9的计算次数,所以我们只能通过O(n)级别的复杂度进行求解,那么如果需要我们瞬间定位一个奇数或者是偶数是很难实现的。我们可以让记录下来的所有数的下标定位到其应在的位置,比如现在我们想让偶数开头,那么结果就是偶数的下标按顺序对应到1,3,5,7…等的位置的距离相加。注意结果的计算不要算重了,计算完偶数对应位置之后就不用再计算奇数对应位置,因为所有偶数都排好了那么奇数就一定都排好了。首先:如果奇数和偶数的数量相差大于1的时候,是一定无解的,因为不可能实现奇偶相间。

2024-06-28 15:04:51 353

原创 python基础语法学习(工程向)-Stage3-数据可视化

是一种轻量的数据交互格式,可以按照json指定的格式去组织和封装数据,而本质上是一个带有特定格式的字符串。json是在各个编程语言中流通的数据格式,负责不同编程语言之间的数据传递和交互。json的格式要求较为严格,故直接给出样例。其实json的格式与python中的字典和列表相似python中内置了json模块,可以直接使用。

2024-06-18 23:57:48 681

原创 python基础语法(工程向)-Stage2

制作模块只需要新建一个.py文件,在其中写入函数等,然后在另外一个文件直接import该文件的名称就可以了。如果调用的模块中有相同的名字的函数(没有直接使用import的时候),那么就会出现后面引用的模块的函数覆盖掉了前面引用的模块的函数如果在自定义的模块中调用了函数,那么引用模块的时候会把该函数执行使用以下语句,可以使在主函数引用模块的时候不会触发代码,但是在运行该模块的时候会触发...__all__存储的是列表,当写上__all__并且使用的时候,只有存储到__all__

2024-06-18 10:40:53 533

原创 Python基础语法学习(工程向)-Stage1

wadsjdk±。

2024-06-17 09:12:28 636

原创 Codeforces Round 766 (Div. 2) (博弈论 + 贪心)

当他们走进新教室时,他们发现学生的座位被排列成一个 n×m 网格。,n⋅m−1 ,如果蒂娜有 k 桶油漆,如果拉胡尔和蒂娜都知道对方的意图,并且他们都尽可能有策略地行动,拉胡尔可以坐在离蒂娜多近的地方?很容易发现,拉胡尔肯定是会去选择尽量靠中间的位置,因为这样能够尽可能保证距离四个角最近,而蒂娜又一定会去选择四个角的位置,因为这样能够距离拉胡尔最远。对于每个测试用例,输出 n⋅m 个有序整数–如果拉胡尔和蒂娜在每个 k∈[0,n⋅m−1] 中都以最佳方式行动,则拉胡尔和蒂娜之间的距离。

2024-06-12 21:44:36 294

原创 在PS上绘画时会用到的操作

目前处于控线和抓型阶段,但是对于快捷键的整理是持续更新的。

2024-06-07 11:02:01 216

原创 对于C++STL及其时间复杂度的总结

由于本次在山东CCPC邀请赛中,对于堆的时间复杂度记忆不清晰,导致第4题没有做出来,与铜牌失之交臂,故觉应整理STL的时间复杂度。本文仅整理有用(竞赛)的stl及其用法,并且不阐述过于基础的内容。

2024-05-30 20:07:39 1264 2

原创 Codeforces Round 906 (Div. 1) A. Qingshan Loves Strings 2 (模拟 + 贪心 + 字符串)

从两端开始看,如果现在两端是两个1相同,由于我们只能插入01,所以我们可以把这个01插到左边1的左边。首先我们知道要满足这道题的条件, 那么字符串中0和1的个数必须是相同的,其次字符串还必须是偶数长度。我们可以证明,在这个问题的约束条件下,如果答案存在,那么总有一个答案最多需要 300 次运算。就算是在最坏的情况下,也就是有n/2个数是相同的,我们也只需要进行n/2次操作就可以实现。并且这里注意我们要同时维护字符串的长度和操作到的两端的位置。排除这两个不可能的情况之后,就可以说是一定有解的。

2024-05-30 15:55:56 606

原创 Codeforces Round 800 (Div. 1) A. Directional Increase (贪心之结论题之根本想不出来)

对于这道题,多加思考多少能够想出来这道题的判断方式是和每一个数的操作一二次数是有关系的,但是这道题的终极解题结论还是很难推出来的。您可以在任何情况下输出 "Yes "和 “No”(例如,字符串 “yEs”、"yes "和 "Yes "将被视为肯定回答)。,则打印 “Yes”(不带引号),否则打印 “No”(不带引号)我们已经知道了指针所有的向右移动的情况,那么我们可以说,如果。完成后,指针必须在第一个元素上。- 测试用例的数量。对于同一个数的指针的移动,向右移动了。,第一个元素上有一个指针。

2024-05-29 17:49:36 795

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除