自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 878 Div.3

块钱,每个物品仅能购买一次或不购买,问一共有多少种购买方式,即有多少种不同的购买物品的方案。个询问,每个询问一秒钟,从第一个询问开始计数,第一个询问为第一秒。思路:用优先队列维护被锁住的字符,哈希字符串判别字符是否一致。思路:以相同字母划分,还原出加密前的字符串。给出加密后的字符串,要求输出原来的字符串。题意:(看了老半天)就是给定一个字符串。由小写拉丁字母组成,以及一个整数。天的温度,你仅可以在温度不大于。题意:给你两个长度相同的字符串。的日子出门,现在你想连续玩。

2023-06-07 19:17:24 361 1

原创 Codeforces Round 871 (Div. 4)

思路:先求出图的最长直经,找到直径的两个端点,和直径长度。直径的中点就是根节点,它的度数就是。看每本书都有对应的代价,求学会两种技能的最小代价。,可以用二分求出它所在的层数的上一层是第几层,令其为。然后就可以分3种情况得到直接位于它上方的部分的值。位于当前层的第一个,直接在其上方的部分就一个,值为。个变量维护三种类型各自的最小代价,最后得到答案。位于当前层最后一个,和第一种类似,其值为。,且3的个数大于2的个数就有解。题意:有一个图,其根节点直接与。,随便找个根节点直接相邻的节点。,直接在其上方的有两个。

2023-05-07 20:11:16 873 2

原创 华中农业大学2023年十二届程序设计竞赛(同步赛)补题

大小的区间,每次询问都从当前询问值的所在区间的第一项暴力递推计算。暴力递推的部分我没写,3000 个起点太长了。项的异或值,如果原来的异或值不为零,那么我们可以只用更改其中一项即可得到总异或值为零的数组。显然如果原来数组的所有数异或和为零,那么我们无需更改,即可令其中任意两项的异或值等于其余。博弈,打表后发现,lowbit 相同时 Bob 赢,否则 Alice 赢。表示 i 件物品全部错位的情况总数, 暴力将。,所以答案要么为 0 要么为 n - 1。时的值全部算出来,也就是将。输入字符串,将每个字母的。

2023-04-16 15:31:54 292 1

原创 【无标题】

假定 dp[ i ] [ j ] 的最优结果是平局,那么 s[ i - 1] 和 s[ j ] 的大小关系就和关键,因为内部的最优结果使得最终 Alice 和 Bob 的字符串在前缀上是一模一样的,只有最后一个字符的大小影响结果。不光要考虑 s[ i -1] s[ j ], 还要考虑 s[ i - 1] s[ i ], 等情况。根据 区间dp 的思想,我们考虑利用 dp[ i ] [ j ] 来更新 dp[ i - 1 ] [ j + 1 ],也就是在增加两个字符的情况下,对于结果的影响。

2023-03-28 21:05:13 109

原创 ABC-295 E - Kth Number

若在序列中存在 n - k + 1 及以上个大于等于 i 的元素。因为不管其他可变项如何取值,都无法改变第k个元素大于等于i的事实。如果存在大于等于k个元素小于i ,那么这种情况对答案的贡献为0。除上面两种情况,剩下的就是将可变项的一部分,取值为大于等于0的值,从而使得在排序之后第k个元素的值要大于等于i。令可变项的个数为 cnt0,大于等于i的个数为cnt1,小于i的个数为cnt。对于每个等于0的元素 ,分别在1 和 m之间随机选择一个整数,并替换为该元素。利用期望的线性性,叠加讨论 1 到m的情况。

2023-03-26 20:02:08 201 1

原创 F. Bouncy Ball

对于每个网格点,记录四种状态,分别表示从四种方向经过该点。从i1,j1出发一步步移动。如果到达的下一个点的方向状态已经记录过说明进入了一个路径循环,无解输出-1。如果到达终点输出碰撞次数即可。题意:给定一个n*m的方格网络,i1,j1是一个起点,可以斜向四个方向移动如果碰到方格网络边界则会改变运动方向,新方向与原方向关于碰撞面的法线对称。问从i1,j1能否移动到i2,j2。

2023-03-20 16:19:09 108

原创 洛谷P6064

进一步考虑,可以想到对于第n个数有两种状态就是要么选了,要么没选,根据这个我们可以dp两次得到答案,具体而言是先不选第N个数,那么就相当于从第一个数开始dp,而后第二次dp,强制选取第n个数,注意此时的dp初始状态需要特别考虑。第一次dp取两个较大值,int ans = max(dp[n][b][1], dp[n][b][0]);原因再于我们并没有考虑第n个数对第1个数的影响。有n个数,可以从中选取m个,如果是连续的选取,就可以得到一定的分数,分数等于此连续段第二个值开始到最后一个的累和。

2023-03-18 19:49:30 42

原创 中序遍历和后序遍历还原树的结构

首先后序遍历的最后一项一定是这一部分子树的根节点,可以在中序遍历中找到这个根节点,那么中序遍历中根节点左边就是左子树,右边就是右子树。递归进入左子树,显然可以在后序遍历中找到该左子树的根节点,由此可以进一步递归。后序遍历和先序遍历中的其一,加上中序遍历就可以完整的还原出最初的树状结构。这里展示一种递归构建树状结构的方式。

2023-03-16 21:20:40 106

原创 容斥定理count GCD

题意:给定一个数组a_1, a_2, .....a_n;且任一项都在[1, m]区间内,要求构造一个数组b,使得对于任意i有gcd(b_1, b_2,.....b_i) = a[i]成立;且任意b_i也在[1, m]区间内。思路:gcd(b_1, b_2,.....b_i) = a[i] 转化为gcd(a[i-1], b[i]) = a[i]. 可以看出a[i-1]一定要整除a[i],否则无解,在得到。

2023-01-28 14:23:24 116

原创 字符串大模拟

贪心,计算原字符串各个字母的种类个数sz 出现次数cnt_i,按照次数排序,因为只有26个字母,可以暴力枚举最小操作次数所带有的字符种类数目num。如果num < sz,那么取最大的前num个字符保留,操作次数为 op = abs(n / num - cnt_i) , 剩下的全部删除,操作次数加上 abs(n/num - cnt_i);给定一个长度为n的由小写字母构成的字符串s,现在如果有一个字符串t长度为2n,且t中有n个不同的字母,并且每个字母出现2次,则称字符串t为漂亮字符串。

2023-01-27 00:50:06 135

原创 a+b为定值n,最小化a+b的最小公倍数

显然,由a+b = n得出a*b>=n-1,设x = gcd(a, b), c*x + d*x = n, 得到 c+d=n/x,c*d>=n/x-1又因为lcm(a, b) = c*d*x, 所以得到lcm(a, b) = c*d*x >= n-x。显然让lcm最小就要使x最大,即a 和 b的最大公约数最大化。给定定值n,使得a+b=n, ans = lcm(a, b), 求ans的最小值。

2023-01-23 05:09:31 258

原创 pta 恼人的青蛙

在剩下的N行中,每行有两个整数,分别是一颗被踩踏水稻的行号(1~R)和列号(1~C),两个整数用一个空格隔开。根据图4,农民能够构造出青蛙穿越稻田时的行走路径,并且只关心那些在穿越稻田时至少踩踏了3棵水稻的青蛙。因此,每条青蛙行走路径上至少包括3棵被踩踏的水稻。而在一条青蛙行走路径的直线上,也可能会有些被踩踏的水稻不属于该行走路径。当然,农民所见到的是图4中的情形,并看不到图3中的直线,也见不到别人家田里被踩踏的水稻。如果在稻田中存在青蛙行走路径,则输出包含最多水稻的青蛙行走路径中的水稻数量,否则输出0。

2023-01-11 15:17:37 47

原创 Educational Codeforces Round 141 (Rated for Div. 2) A — C

A. Make it Beautiful 构造贪心题意:给定n个元素,要构造一个序列A,使得任意不等于之前所有元素的累和思路:容易想到先排序,再从大到小摆放,但是如果给定的n个元素都相等就会出错。更稳妥的是一大一小链式摆放,特判一下所有元素是否相等题意:构造一个大小为n*n的矩阵,共有n*n个元素,从1到n*n各出现一次,对矩阵进行相邻元素求绝对值的操作,得到全部相邻元素的绝对值,记共有m种不同的绝对值,要求构造一个m最大的矩阵,并输出。

2023-01-09 15:57:46 211

原创 汉诺塔问题

No.1 表示最小的原盘,No.n 表示最大的圆盘。a->b表示从a移动到b。输入在一行中给出1个正整数n。从左到右依次为a, b, c 柱。

2023-01-08 15:37:22 91

原创 代码源:选数问题

考虑原数组的前缀和数组B,对B的每一项都和n取模,n取模的结果有n种【0,n-1】,B一共有n+1项,根据鸽巢定理,可以肯定B至少存在两个项的数字一样,那么这两个数字之间的数的总和一定就为n的倍数。从长度为n的数组中选取任意个数字,每个数只能选一次,要求这些数的和为n的倍数。

2022-12-31 18:59:01 77

原创 PTA - 全排列

思路:将当前所有未确定位置的数存入有序集合set,显然当前位置 i 若为集合中第 k 大的数,那么,当前序列的字典序序号就会增加。,知道这个规律就可以简单遍历,类似倍增的方法找到答案。

2022-12-10 02:33:22 830

原创 思维二分。

Problem - E - Codeforces本来我也是二分的思路,但是想歪了,直接二分最大的划分长度去了,但是这个长度是不具备单调性的,没办法二分。。。

2022-11-27 23:57:48 77

原创 LCA的题

Problem - G1 - CodeforcesProblem - 2874

2022-11-25 01:13:13 85

原创 E. Binary Numbers AND Sum

题意:给两个字符串 a 和 b ,不断右移 b 字符串,并将 b 代表的二进制数与 a 代表的二进制数相与运算结果累加,注意对累加结果对 998244353 取模

2022-11-22 23:23:57 73

原创 树上二分。

树上二分

2022-11-11 21:14:50 199

原创 C. Card Game

组合排列

2022-11-11 17:59:38 896

原创 Problem B. Random Permutation

数学期望

2022-11-11 08:29:16 85

原创 PTA进制确定

进制确定

2022-10-20 11:28:50 74

原创 PTA不能用循环是一件多么悲伤的事

不能用循环是一件多么悲伤的事

2022-10-20 11:26:04 241

原创 关于交换排序的一点技巧

交换排序的不变性

2022-10-06 16:16:30 73

原创 二分、循环节、结论

国庆欢乐AK

2022-10-03 18:05:01 135 1

原创 第一次见的根号分治

根号分治

2022-09-29 20:18:13 130

原创 【无标题】

等价变换

2022-09-19 19:10:45 48

原创 K-periodic Garland

线性dp,经典线性dp思维

2022-09-14 09:59:42 107

原创 洛谷-P1957 口算练习题

cin的输入特性

2022-07-01 19:51:48 176

原创 PTA-倒数第N个字符串

简单的进制转换

2022-06-30 16:50:00 225

原创 B. Palindromic Numbers

高精度加减法

2022-06-29 19:35:15 222

原创 Codeforces Round #538 (Div. 2) B. Yet Another Array Partitioning Task

大概思路:在样例1中,对输入的数组5,2,5,2,4,1,1,3,2 进行排序,找出最大的m*k(也就是6个)个元素5,5,4,3,2,2将这些元素的个数记录下来,记为map<int int >p。为什么是m*k个呢,原因在于每个子序列的要求是其中最大的m个元素相加,子序列一共有k个,那么最后肯定是输入数组中最大的m*k个元素相加求和。之后在输入数组中遍历,遇到一个符合的元素就p[int]--,减了两次就意味着找到了一个合适的分区,直接输出下标。#include <bits/...

2022-05-15 16:28:17 72

原创 PTA迷宫探路

本题目要求读入2个整数A和B,表示A行B列的迷宫,迷宫中有障碍点。给定起始点和终止点,要求从起始点到终止点的最小步数。输入格式:输入n组如下的数:输入2个整数A和B,表示A行B列的迷宫,然后输入一个整数C,表示障碍点数,再依次输入C个障碍点的坐标(x,y),最后输入起始点和终止点的坐标(xs,ys)和(xe,ye)。输出格式:针对每组数,输出从起始点到终止点的最小步数。若无法达到,则输出“Not arrive”。注意两种情况:入口和出口不重合,重合#include &lt.

2022-04-23 22:19:44 1028

原创 蒜头君的工厂

计蒜客

2022-03-09 22:38:42 668

空空如也

空空如也

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

TA关注的人

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