序列1860 cf

CF/AT做题记录

很菜。 CF1905C 考虑先找到原串中的字典序最大串,这个直接单调栈求出。然后我们对这个字串 \(t\) 执行操作,\(t\) 是不上升的所以肯定能排好序,我们在找 \(t\) 的时候顺便记录下 \(t\) 在原串中的位置,然后把排好序的 \(t\) 放回去判断,如果是不下降的则输出排好 \(t\ ......
CF AT

最长公共子序列

最长公共子序列 一、什么是最长公共子序列(Longest Common Subsequence, LCS)? 最长公共子序列(LCS)是指在两个序列中,找出一个最长的子序列,使得这个子序列在这两个序列中都出现过。换句话说,就是从两个序列中删除一些元素后,剩下的最长公共子序列的长度。 二、原理 我们可 ......
序列

Java反序列化漏洞-CC1利用链分析

@目录一、前置知识1. 反射2. Commons Collections是什么3. 环境准备二、分析利用链1. Transformer2. InvokeTransformer执行命令3. ConstantTransformer4. ChainedTransformer执行命令5. Transform ......
序列 漏洞 Java CC1 CC

CF995E Number Clicker

Number Clicker Luogu CF995E 题面翻译 小 y 在玩数学游戏,他有三种变化方式: 将该数 \(+1\); 将该数 \(-1\) 将该数变成他的逆元(即 \(p-2\) 次幂),当然,我们所有操作都是在 \(\bmod\ p\) 意义下的 现在小 h 知道了变换前的数 \(u ......
Clicker Number 995E 995 CF

CF938G Shortest Path Queries

Shortest Path Queries Luogu CF938G 题面翻译 给出一个连通带权无向图,边有边权,要求支持 \(q\) 个操作: \(1\) \(x\) \(y\) \(d\) 在原图中加入一条 \(x\) 到 \(y\) 权值为 \(d\) 的边 \(2\) \(x\) \(y\) ......
Shortest Queries 938G Path 938

「杂题乱刷」CF978G

题目链接 简单贪心。 由于我们需要判断无解情况,于是我们可以在做的过程中记录答案。 比较容易发现,对于每个时间段,我们肯定是优先复习日期较近的考试的,贪心了这一点,就能轻松 AC 了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; ......
978G 978 CF

[Codeforces] CF1774B Coloring

CF1774B Coloring 题意 Cirno_9baka 的纸条上有 \(n\) 个格子,他觉得空白的纸条看着有点无趣,于是想在纸条的格子上涂上 \(m\) 种颜色。同时,他认为第 \(i\) 种颜色必须要用 \(a_i\) 次,且每连续 \(k\) 个格子里涂的颜色必须互不相同。 Cirno ......
Codeforces Coloring 1774B 1774 CF

[Codeforces] CF1760F Quests

CF1760F Quests 题意 有 \(n\) 个任务,你每一天都可以选择其中的一个任务完成或不选。当你完成了第 \(i\) 个任务,你将获得 \(a_i\) 元。但是如果你今天完成了一个任务,那么你之后 \(k\) 天内都不能再完成这个任务。 给出两个数 \(c\),\(d\),要求求出满足在 ......
Codeforces Quests 1760F 1760 CF

[Codeforces] CF1744E1 Divisible Numbers (easy version)

CF1744E1 Divisible Numbers (easy version) 题意 给你四个数 \(a,b,c,d\),你需要找出一组 \(x,y\) 使得 \(a<x\leq c,b<y\leq d\) 并且 \(x\cdot y\) 能被 \(a\cdot b\) 整除,如果没有输出 -1 ......
Codeforces Divisible Numbers version 1744E

CF1804F Approximate Diameter 题解

题目链接 点击打开链接 题目解法 很有意思的题,但不难 首先一个显然的结论是:算着边的加入,直径长度递减 第一眼看到误差范围是 2 倍,可以想到二分 可以观察到如果取答案为 \(\frac{n}{2}\) 可以覆盖到 \(\frac{n}{4}\)(上下取整不重要),那这样每次可以把值域范围缩小 4 ......
题解 Approximate Diameter 1804F 1804

数字信号处理-序列的抽取与插值

0 前言 期中考好像就这里没考好呢,一看就是之前没好好听课没好好预习复习,到期中考也没弄懂这里(甚至发现作业题都忘记写了,那段时间忙比赛去了,真是得不偿失),所以才不会。 1 序列抽取 序列的$$D$$抽取 $$x_d(n)=x(Dn)$$,$$D$$为整数,叫抽取因子 意义:每个连贯的D抽样中抽一 ......
信号处理 序列 信号 数字

CF327C Magic Five 题解

题目传送门 前置知识 等比数列求和公式 | 乘法逆元 解法 设 \(lena\) 表示 \(a\) 的长度。 首先,若一个数能被 \(5\) 整除,则该数的末尾一定为 \(0\) 或 \(5\)。故考虑枚举 \(a\) 中所有的 \(0\) 和 \(5\) 的下标,设此下标后面有 \(x\) 个数字 ......
题解 Magic 327C Five 327

CF1859F Fancy Arrays

Fancy Arrays - 洛谷 我们先找这题看起来有点奇怪的部分: \(x\leq 40\) \(|a_i-a_{i-1}|\leq k\) 我们先考虑第二个条件怎么用。我们发现 \(\min a_i \in [0,x+k)\),而原数组相邻两数之差的条件肯定要考虑成差分来处理 可以发现,一个差 ......
Arrays 1859F Fancy 1859 CF

P2516 [HAOI2010] 最长公共子序列

求方案数,直接从 \(f[i-1][j]\) 和 \(f[i][j-1]\) 转移过来,如果 \(s1[i]==s2[j]\) 就加上 \(f[i-1][j-1]\) ,如果 \(s1[i]!=s2[j]\) 且 \(f[i][j]==f[i-1][j-1]\) 说明两边 转移到了 \(f[i-1] ......
序列 P2516 2516 2010 HAOI

「杂题乱刷」CF961B

题目链接 算法一: 直接暴力,时间复杂度 \(O(n^2)\)。 算法二: 使用双指针维护,时间复杂度 \(O(n)\)。 算法三: 是用前缀和维护,时间复杂度 \(O(n)\)。 这里提供算法二的代码: 点击查看代码 #include<bits/stdc++.h> using namespace ......
961B 961 CF

「杂题乱刷」CF1105C

题目链接 一道 dp 板子题。 只需要设 \(dp_{i,j}\) 为前 \(i\) 位 \(\bmod 3\) 为 \(j\) 的方案数的数量即可。 剩下的就看代码了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; #defin ......
1105C 1105 CF

题解 CF1887E【Good Colorings】

萌萌交互题。 对网格图进行二分图建模,左部 \(n\) 个点表示每一行,右部 \(n\) 个点表示每一列。若格子 \((i,j)\) 被染成 \(c\) 色,就连接 \((L_i,R_j,c)\) 的边。 由抽屉原理易证,在初始局面中至少有一个各边颜色均不同的偶环。获胜条件相当于存在一个各边颜色均不 ......
题解 Colorings 1887E 1887 Good

[Codeforces] CF1740D Knowledge Cards

CF1740D Knowledge Cards 题意 有一个 \(n \times m\) 的棋盘。现在\((1,1)\)中有一个栈,你可以按照一定的顺序进行出栈操作,每次都可以移动一个卡片到一个相邻的空白位置,但是卡片不能重合。问,能否通过若干次操作,将\((1,1)\)中全部的卡片移动到\((n ......
Codeforces Knowledge 1740D Cards 1740

[Codeforces] CF1722G Even-Odd XOR

CF1722G Even-Odd XOR 题意 给定一个正整数 \(n\),请你找出一个长度为 \(n\) 数组 \(a\),满足数组是由互不相同的非负且小于 \(2^{31}\) 的整数组成,并且该数组中奇数项上元素的异或值与偶数项上元素的异或值要相等。 思路 根据异或的交换律,可以发现:奇偶位异 ......
Codeforces Even-Odd 1722G 1722 Even

[Codeforces] CF1690E Price Maximization

CF1690E Price Maximization 题意 我们有 \(n\) 个礼物,而最终我们需要将所有的礼物两两包成 \(\frac{n}{2}\) 个包裹。 每一个礼物 \(i\) 都有其价值 \(a_i\),而含有礼物 \(i\) 与礼物 \(j\) 的包裹的价值是 \(\lfloor \ ......
Maximization Codeforces 1690E Price 1690

CF1784C Monsters (hard version) 题解 线段树

题目链接:https://codeforces.com/problemset/problem/1784/C 题目大意: 你面前有 \(n\) 只怪兽,每只怪兽都有一个初始血量,你可以进行两类操作: 操作1:选择任意一个血量大于 \(0\) 的怪兽,并将它的血量降低 \(1\); 操作2:将所有存活的 ......
线段 题解 Monsters version 1784C

基因组序列比对(read alignment)

基因组序列比对(read alignment)技术,是将测序得到的read与已有的参考基因组进行比对,找到read与参考基因组匹配的对应位置,继而得到序列比对的详细结果。 由于参考基因组碱基数极多,测序得到的read数据量极大,且测序的DNA序列中存在各种碱基变异和测序错误,因此不能直接将read与 ......
基因组 序列 基因 alignment read

CF1320D Reachable Strings

110和011互相转化,相当于就是0在连续两个1的情况下,移动两个位置 能够发现,0的位置的奇偶不会改变,且很多个0之间的相对位置不会改变 猜想考虑这个答案只跟0的奇偶性有关,下面小证一下:(注意下面所说的“奇偶”指的是两个字符串的分别第一个字母为奇数时的奇偶,不是总字符串的奇偶) 若0的相对位置奇 ......
Reachable Strings 1320D 1320 CF

asp.net core 使用newtonsoft完美序列化WebApi返回的ValueTuple

https://www.cnblogs.com/kugar/p/12334210.html 由于开发功能的需要,又懒得新建太多的class,所以ValueTuple是个比较好的偷懒方法,但是,由于WebApi需要返回序列化后的json,默认的序列化只能将ValueTuple定义的各个属性序列化成It ......
序列 ValueTuple newtonsoft WebApi core

CF 1303 E

显然O(n)划分之后可以用一个三维dp写 可以用bitset优化 也可以 化简为二维 dp i j 表示第i位 能搞到 a的j位 并且 搞到b位的 最大值 int dp[410][410]; bool check(string &s,string &pre,string &suf) { memset ......
1303 CF

CF 1904 D. Set To Max

Easy Version Hard Version Hard Version的做法可以从Easy Version 用数据结构优化得到。 首先我们想一下,什么情况需要进行操作?显然是\(a_i!=b_i\)的时候,并且当\(a_i>b_i\)的时候将会无解。 那么当\(a_i<b_i\)的时候,应该怎 ......
1904 Set Max CF To

CF 记录

CF 1903F: 考虑二分答案 \(ans\)。 可以得到这样的限制: 若选择了 \(x\),则不可以选择 \(x+1,x+2,...,x+ans\)。 若未选择 \(u_i\),则必须选择 \(v_i\)。 这是一个 2-sat 的形式。但限制 1 建边太多,可以用线段树优化建图。 ......
CF

「杂题乱刷」CF1620E

一道好题。 题目链接 考虑离线操作。 我们可以设 \(a_i\) 为当前 \(i\) 表示的数字,然后直接倒序操作,运用并查集的思想,可以 \(O(n)\) 通过此题。 参考代码: #include<bits/stdc++.h> using namespace std; long long n,a[ ......
1620E 1620 CF

CF1481D

考虑二元环 要是二元环相同 那么显然怎么构造都可以了 否则 我们考虑 没有二元环相同 要是m是奇数 我们随便跑跑就行 要是m是偶数 情况呢 我们需要构造一种情况 我们肯定用的点数越少越好 我们考虑三个点 要是两个二元环都是 a 出 或者 b 出的 就可以构造出来了 void solve(){ int ......
1481D 1481 CF

128. 最长连续序列

1.题目介绍 给定一个未排序的整数数组 \(nums\) ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 \(O(n)\) 的算法解决此问题。 示例 1: 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1, ......
序列 128