随笔分类 - 补题*总结题
作物杂交
摘要:原文 版权归属: GabrielxD 本文链接: https://gabrielxd.top/archives/acwing-3305 许可协议: 本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权 输出描述 输出一个整数,表示得到目标种子的最短杂
装饰珠
摘要:在怪物猎人这一款游戏中,玩家可以通过给装备镶嵌不同的装饰珠来获取 相应的技能,以提升自己的战斗能力。 已知猎人身上一共有 6 件装备,每件装备可能有若干个装饰孔,每个装饰孔有各自的等级,可以镶嵌一颗小于等于自身等级的装饰珠 也可以选择不镶嵌。 装饰珠有 M 种,编号 1 至 M,分别对应 M 种技能
子串分值
摘要:思路 首先要想到:求字母的贡献度。 可以发现:对于某个字母,只有当该字母个数在子串中个数为1才会有贡献度。 以ababc为例: 第一个a只有在"a","ab"中才是唯一的a,贡献1。 第二个a 只有在"ba","a","bab","babc","ab","abc"中贡献1 对于最后一个c,其在"ab
回文日期
摘要:题目描述 给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。 输入描述 输入n,,保证 N 是一个合法日期的 8 位数表示。 输出描述 输出两行,每行 1 个八位数。第一行表示下一个回文日期,第二行
B - K-th Number HDU - 6231 (二分 尺取)
摘要:WindowsSource 2017中国大学生程序设计竞赛-哈尔滨站 题意 给一个数组,在所有长度大于等于k的区间内,找出第 大的数,放到另一个数组中,然后在新数组中找到第M大的数。 思路 二分答案,每次二分的时候我们得到一个x 对于每个x 利用尺取,得到 第K大的数大于等于x 的区间一共有
L - Fenwick Tree Gym - 103861L(打表,树状数组)
摘要:题意: 一开始数组的每个数都是零 对于每次操作: 可以对一个数加上一个实数 在加上实数的同时,对应的i+lowbit(i)一直到<=n都会加上这个实数 不同操作可以加上不同的实数 给一个01字符串,如果当前位上为1,表明当前位上非0,否则是0 问从全零数组 到 给定字符串表示的状态 需要的操作次数
线性(普通)DP题单
摘要:题单链接 https://vjudge.net/article/2605 CodeForces-191A Dynasty Puzzles Codeforces Round #121 (Div. 1) 题意 给出 n 个小写字母组成的字符串。 两个字符串如果前者的最后一个字母与后者的首字母相同,那么两
J - Just Arrange the Icons CodeForces - 1267J (思维+暴力)
摘要:题意 n个软件,每个软件都有种类,而屏幕有容量 s (自己决定), 有两个限制: 一个屏幕只能放 s-1 或者 s 个软件 一个屏幕上只能防同种的软件 求最小的屏幕数。 思路 枚举 s 代码 #include<bits/stdc++.h> using namespace std; typedef p
L - Intersection and Union Gym - 103993L (线段树)
摘要:题意 给定 个区间。 每个区间可以看成包含区间内的数的集合 。 定义集合的操作有 。其中 $S_a \oplus S_b = S_a \cup S
dijkstra 求最小环( CCPC桂林 - E. Buy and Delete )
摘要:原文 题意经过转化后,本质就是求最小环。 有向图有以下三种实现方式,而无向图只能用第一种实现方式。 实现方式1:删边求最短距离 有向图实现方式2:回到起点构成环 有向图实现方法3:任意两点间的最短距离 删边求最短距离 这种实现方法有向图无向图都可用。 如果是无向图必须用这种 如果是有向图边数和点数差
Scapegoat Gym - 101775B (贪心+推公式)
摘要:题目链接https://vjudge.csgrandeur.cn/problem/Gym-101775B 原文 题意: 现在某人闯祸了,产生了 N 个锅,每个锅有个严重点数,现在可以安排 M 个替罪羊去背锅。 每个替罪羊最多只能背一个锅。若一只羊背一个锅,则该锅的严重点数全部算在它头上;若多只羊背同
High Load Database Gym - 102411H (前缀和+二分查找)
摘要:题目出处 High Load Database Gym - 102411H ICPC 2019-2020 North-Western Russia Regional Contest 原文 题意 给长度为n的整数序列。 询问q次, 每次给定一个整数t, 你要把给定的序列尽可能少的划分, 要求每部分的区
2020CCPC威海 C Rencontre(树形DP,期望)
摘要:题意: 有3个人,每个人有一些待选位置。 就是当确定三个人确定位置 u1 , u2 , u3 后,需要找到一个位置 v 到三个位置的距离之和最小, 现在给出 u1 , u2 , u3 的待选取值,问 距离之和的期望是多少。 思路: 模拟一下可以发现,3人回合的距离和为 $$\frac{\operat
HDU2376——Average distance(思维+树形DP)
摘要:原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2376 原文:https://www.codenong.com/cs109682980/ 题意: 给定一棵树,有边权,求树上任意两点之间距离的和的平均值。 思路: 传统求树上两点距离是LCA,任意的话要枚
2020 CCPC 威海 - G Caesar Cipher (线段树 + hash)
摘要:题意 : 给定一个数组 ,范围为 [0,65536),有以下两种操作: 给出 x , y 把 [x , y] 内的每个数 + 1 同时对 65536 取模。 给出 x,y,L , 查询区间 [x , x + L - 1] 和区间 [y , y + L - 1]是否完全相同。 思路 原文 思路就是 线
ICPC 2019-2020 North-Western Russia Regional Contest E. Equidistant(换根dp)
摘要:https://vjudge.net/problem/Gym-102411E 题意: n个点的树上有m个特殊点,让你找到你一个点使得这个点到所有特殊点的距离相等。 思路 补:树的中心:该点到树中其他结点的最远距离 最近。 思路1 可以想到题目所求的点一定是树的中心,那么题意就变成: 找到树的中心 然
Exam Results Gym - 102769E
摘要:https://vjudge.net/problem/Gym-102769E #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> using namespace std; typedef long
2020CCPC秦皇岛-K. Kingdom's Power(树形DP + 贪心)
摘要:题意 给出一个有n个节点的有根树,1 为根节点,根节点有无穷多个兵,每一秒可以让任意一个兵向任意一个地方移动一步,兵所到的点被占领,问最少需要经过多少秒,才能将所有的点都占领 思路 暴力走一遍,然后每次判断, 是从根节点更新距离短 还是从最近的节点更新距离短。 最近的点可能是:父亲节点(第一次到达该
Max Sum Plus Plus HDU - 1024 (DP+滚动数组优化)
摘要:题意: n个点,求出m对不相交连续子序列的最大和。 思路: 状态: 用 表示前j个数组组成了i个不相交区间的最大和。 转移: 第j个数只有两个状态: 和别的数组成了一个区间 那么 自己独立成了一个区间 那么$d
2021 ccpc 威海 D. Period(next数组)
摘要:https://vjudge.net/problem/Gym-103428D 题意: 给你一个字符串,q次查询,每次查询会将字符串中的一个字符修改为#,求在新串中可以选出几种长度不同的前后缀,使得前后缀相同 分析: 对于长度为n的串,#在pos位置时,只需对长度小于等于min(pos-1,n-pos