题解sorting binary string

Java String类

1.substring() 方法返回字符串的子字符串。 public String substring(int beginIndex) 或 public String substring(int beginIndex, int endIndex) 1 class Main { 2 public st ......
String Java

P9744 消除序列 题解

本题有多种解法,我这里先讲一个我的考场做法吧。 切入点 我们发现我们至多使用一次操作一,而剩下部分的 \(0\) 肯定是依靠操作二补全,操作三的作用只是用来填补操作一的空白的,所以我们发现我们对一个序列的操作一定是前一段用操作一和操作三,后一段用操作二。 思路1 一开始考虑暴力 \(O(n)\) 枚 ......
题解 序列 P9744 9744

CEIT 23练习编程题 题解

本文部分题目提供c/c++两种解法,顺便可以让你们知道c++在面对某些题时的优势 部分题目提供多种解法 日期格式化 C #include <stdio.h> int main(){ int m,d,y; scanf("%d-%d-%d",&m,&d,&y); printf("%04d-%02d-%0 ......
题解 CEIT

【题解】「KDOI-06-S」补题

「KDOI-06-S」 A.「KDOI-06-S」消除序列 赛时写了一个 \(O(nq)\) 的线性 DP,喜提 60 分。 注意到如果操作 1 被使用,则一定只会使用一次,而且在最优策略中一定是第一次使用操作 1。则我们可以通过以下方式进行操作,使序列满足条件: 首先执行 \(a_i\) 和 \( ......
题解 KDOI 06

[COCI2015-2016#4] ENDOR 题解

[COCI2015-2016#4] ENDOR 题解 首先要发现一个很重要的性质,那就是两只变色龙碰撞后回头,等效于两只变色龙继续往前走,其中向右走的颜色不变,而向左走的要改变颜色。 那这样就有一种 \(O(n^2)\) 的做法:对于向右的变色龙,直接贡献答案;对于向左的变色龙,我们按照碰到的先后顺 ......
题解 ENDOR COCI 2015 2016

【题解】AtCoder-ARC167

AtCoder-ARC167A Toasts for Breakfast Party 一定不会有空盘,问题转化成 \(2m\) 个数,其中 \(2m-n\) 个是 \(0\),这样一定是最大值和最小值一起,次大值和次小值一起,以此类推。 提交记录:Submission - AtCoder AtCod ......
题解 AtCoder-ARC AtCoder ARC 167

CF1119F Niyaz and Small Degrees 题解

原题 翻译 首先 \(O(n^2 \log n)\) 的 dp 是 simple 的,我们设 \(dp_{i,0/1}\) 表示以 \(i\) 为根, \(i\) 到 \(fa_i\) 这条边删/不删的最小权值和。转移是一个非常 trick 的问题,只需要假设所有都选 \(dp_{i,0}\) ,然 ......
题解 Degrees 1119F Niyaz Small

Leetcode 34. Find First and Last Position of Element in Sorted Array

题解 用了两次二分,分别计算第一个>=target的元素位置和第一个>target的元素位置。闭区间二分,[l,r]是未知的,保证每次答案都在[l,r]中,定义清楚nums[l-1]和nums[r+1]和target的关系。因为是while(l < r),所以到l == r时跳出循环,分析l == ......
Leetcode Position Element Sorted Array

P9745 「KDOI-06-S」树上异或 题解

P9745 「KDOI-06-S」树上异或 题解 \(x_i = 0\) 这题一看就不是很可做,先考虑部分分。 对于一条链的情况,我们可以枚举上一个断边的位置,然后转移。 一看数据范围,估计和值域有关,所以考虑 \(x_i = 1\) 的部分分,如果全部点权都是 1,那么一种方案只有 0 和 1 两 ......
题解 P9745 9745 KDOI 06

[ARC167D] Good Permutation 题解

题意 对于一个长度为 \(N\) 的排列 \(Q\),定义其为好的,当且仅当 对于任意整数 \(i \in \left[1, N\right]\),在进行若干次操作 \(i \leftarrow Q_i\) 后可以得到 \(i = 1\)。 给定一个排列 \(P\),定义一次操作为交换两个数。定义 ......
题解 Permutation 167D Good ARC

数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有有length()这个方 法。 [1,2,3].lengh 属性 "123".length() 方法 ......
方法 length 数组 String

UVA12046 题解

前言: 有些虚高,建议降蓝。感觉比 CF55D 要简单。 题目大意: 定义一个数为好数,满足以下要求: 每个数位都能整除原数。 每个数位都小于等于 \(6\)。 求长度为 \(n\) 的好数有多少个。 思路: 首先,\(0\) 整除任何数都没有意义,可以不枚举。其次,要满足条件二,所以每个数位可以只 ......
题解 12046 UVA

UVA1366 Martian Mining 题解

这个题可以用动态规划解决。 令\(sbe_{i,j}\) 为第 \(j\) 列 \(1\) 至 \(i\) 个格子 \(BE\) 矿总和,令\(snw_{i,j}\) 为第 \(i\) 行 \(1\) 至 \(j\) 个格子 \(NEW\) 矿总和。 \(dp_{i,j,0}\) 表示为以第(\(i ......
题解 Martian Mining 1366 UVA

CF1873E Building an Aquarium 题解

这题看到第一眼就是二分。 单调性 二分最关键的东西是单调性在哪。单调性是如果高度越高,需要的水就越多,高度越矮,要用的水越少。 不难得出代码: check 函数: int check(int mid){ int sum=0; for(int i=1;i<=n;i++){ sum+=max(0ll,m ......
题解 Building Aquarium 1873E 1873

P8854 [POI2002] 超级马 题解

这题其实就是搜索,不知道怎么评绿的。 题意 有一个大小无限的棋盘,有一只马,给定 \(n\) 种跳法,判断马是否能跳到棋盘所有点。 题解 搜索马是否可以跳到他上下左右的四个点,因为只要能跳到这四个点,就可以以这四个点为基础跳到其他所有的点。 这里有一些细节需要处理: 因为每次操作能是横纵坐标加减 1 ......
题解 P8854 8854 2002 POI

CF1870E Another MEX Problem 题解

原题 翻译 首先 \(O(n^3)\) 的 dp 是 simple 的。设 \(dp_{i,j}\) 表示前 \(i\) 个划分后异或和为 \(j\) 是否可行。因为转移不具有连续性,故bitset无法优化(其实 \(O(\frac{n^3}{\omega})\) 也跑不过去) 官方做法: 定义对于 ......
题解 Another Problem 1870E 1870

第二届“梦羽杯”题解

前言 特别鸣谢出 (蒯) 题人:CJY A 原题:NOIP2008普及组T4 《立体图》 B 原题:HAOI2007 反素数 C ......
题解 第二届

题解 AcWing 1272. 与众不同

题目描述 定义完美序列:若一个序列内没有重复的数,称这个数列为完美数列。 每次给定一个区间 \([l,r]\),求这个区间内最长的完美序列长度。 具体思路 设 \(len_i\) 表示从 \(i\) 出发往右的最长完美序列长度。 我们定义一个指针 \(st\),表示当前枚举的区间左端点,同时定义多一 ......
题解 与众不同 AcWing 1272

c: string

/*****************************************************************//** * \file Dustring.c * \brief 字符串操作 * IDE: VSCODE c11 * * * \author geovindu,Geov ......
string

[CF1137C] Museums Tour 题解

[CF1137C] Museums Tour 题解 首先看到 \(d\le 50\),考虑拆点。 把一个点拆成 \(d\) 个点,分别代表到这个点的时候是周几。 然后对于一条有向边,每一天向出边的下一天连边。 这样观察发现,如果两个点在同一个强连通分量内,那么它们可以无限转圈,也就是说,只要到达了一 ......
题解 Museums 1137C 1137 Tour

ARC167D Good Permutation 题解

题意 给定一个长度为 \(N\) 的排列 \((P_1,P_2,\cdots,P_N)\)。称一个排列 \(P\) 为“好排列”当且仅当对于所有 \(1\leq x\leq N\),都能通过不停地使 \(x\leftarrow P_x\) 将 \(x\) 变成 \(1\)。 通过最小次数操作将 \( ......
题解 Permutation 167D Good ARC

[CSP-S2019] 树的重心 题解

[CSP-S2019] 树的重心 因为这道题令我十分兴奋,所以来写一下做完后的思考。 这道题用到了树的重心的种种性质,在写解法的时候会一一点出其用处。 首先,枚举每一条边,然后各自 \(O(n)\) 扫一次的 \(O(n^2)\) 做法是简单的。 那么接下来,就会出现不同的解法了: 优化 \(O(n ......
题解 重心 CSP-S 2019 CSP

P9290 Luna likes Love 题解

原题:[洛谷P9310]([P9310 EGOI2021] Luna likes Love / 卢娜爱磕 cp - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 题目大意 给定一个长度为 \(\large 2n(n\leq 10^5)\) 的序列,序列中 \(\large 1\si ......
题解 P9290 likes 9290 Luna

2023 香山杯 RE部分题解

URL从哪里来 main函数断点下载这里 然后可以看到TempFileName,是out.exe.tmp,还包含路径,直接提取出来用IDA打开,一开始被url误导了,看到了下面的RC4加密去了,使用findcryt软件,看到一个base64加密, 交叉引用 在这 动态调试这个函数 里面的a1,有一串 ......
题解 部分 2023

【ZROJ2730】简单题 可持久化分块题解

Description 给定一棵 \(n\) 个节点的树,每次询问编号为 \([l, r]\) 的点中有多少个是祖先关系。 \(n, q \le 10^5\)。 Solution 直接做的话树上的祖先关系不好统计,那么转化到 \(\texttt{dfs}\) 序上,如果 \(u\) 是 \(v\) ......
题解 ZROJ 2730

AtCoder Beginner Contest 324 DF题题解

比赛链接 D - Square Permutation 其实比较简单,但是比赛时候脑子不转了,竟然在尝试枚举全排列,然后算了一下复杂度直接不会做了。 正解应该是枚举完全平方数,底数枚举到 \(sqrt(10^{14})\) 即可,因为 n 最大为 13。 然后统计一下这个完全平方数各个数字出现了多少 ......
题解 Beginner AtCoder Contest 324

sort是不稳定排序

一道题调了一周,今天终于调过了…… 题目不算很难写,就是poj1007的DNA sorting,字符串求逆序数然后升序排序。 之前交的代码是这样的: #include<iostream> #include<algorithm> using namespace std; typedef struct ......
sort

string类构造函数与析构函数

string类构造函数与析构函数 构造函数 构造函数 作用 string s 构造一个空字符串 string s(s1) 生成一个和s1相同的空字符串s string s(s1,5) 将s1[5]以后的部分作为s的初始部分 string s(s1,5,5) 将始于s1[5],长度为5的部分作为s的初 ......
函数 string

解谜游戏《哈士奇再现》题解

哈士奇再现 题解 目录哈士奇再现 题解题目地图及其分数分题解答及剧情EasyProblem题目背景解析解后剧情神秘的串题目背景解析解后剧情猜数字题目背景解析解后剧情Cheat AI题目背景解析解后剧情countBit (周行,追踪哈士奇)题目背景解析解后剧情Embossing(周行,追踪哈士奇)题目 ......
题解

P9517 drink 题解

P9517 drink 题解 Part 1 提示 题目传送门 欢迎大家指出错误并私信这个蒟蒻 欢迎大家在下方评论区写出自己的疑问(记得 @ 这个蒟蒻) Part 2 更新日志 2023-08-12 18:06 文章完成 2023-08-14 15:53 文章通过审核 Part 3 解析 这道题考场上 ......
题解 P9517 drink 9517