集训队 线段 题解p10009

线段树模板

线段树理解起来不难,主要是书写起来比较麻烦 这里学的是董晓老师的线段树模板 #include<bits/stdc++.h> using namespace std; #define lc p<<1 #define rc p<<1|1 #define N 500005 int n,w[N]; stru ......
线段 模板

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

牛客集训营提高组第二组第一题

题目描述:链接:https://ac.nowcoder.com/acm/contest/65193/A 给定正整数 n,计算 n 个元素的集合 {1,2,⋯ ,n}所有非空子集和的乘积取模 998 244 353998后的结果。n≤200。 解题思路,n小于等于200并且子集所有的取值为n^2级别的 ......

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

哈士奇再现 题解 目录哈士奇再现 题解题目地图及其分数分题解答及剧情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

P9686 Judg. 题解

P9686 Judg. 题解 Part 1 提示 题目传送门 欢迎大家指出错误并私信这个蒟蒻 欢迎大家在下方评论区写出自己的疑问(记得 @ 这个蒟蒻) Part 2 更新日志 2023-10-02 15:50 文章完成 2023-10-04 12:37 文章通过审核 Part 3 解析 一道简单模拟 ......
题解 P9686 9686 Judg

ABC324题解

A/B 赛时没打。 C 暴力判断是相等 s[i] == t 还是替换了一个字符,或者是添加/删除了一个字符。 最后两个判断只需要交换一下 \(s\) 和 \(t\) 的顺序就可以共用一个函数了。 D 注意到 \(N\le 13\),所以平方数不会超过 \(v=10^{13}\),很容易想到暴力枚举 ......
题解 ABC 324

P8679 [蓝桥杯 2019 省 B] 填空问题 题解

P8679 [蓝桥杯 2019 省 B] 填空问题 题解 题目传送门 欢迎大家指出错误并联系这个蒟蒻 更新日志 2023-05-25 21:02 文章完成 2023-05-27 11:34 文章通过审核 2023-06-20 21:03 优化了文章代码格式 试题 A :组队 【解析】 本题是一道经典 ......
蓝桥 题解 问题 P8679 8679

P8741 [蓝桥杯 2021 省 B] 填空问题 题解

P8741 [蓝桥杯 2021 省 B] 填空问题 题解 题目传送门 欢迎大家指出错误并联系这个蒟蒻 更新日志 2023-05-09 23:19 文章完成 2023-05-09 23:20 通过审核 2023-06-20 21:03 优化了文章代码格式 试题 A :空间 【解析】 本题考察计算机存储 ......
蓝桥 题解 问题 P8741 8741

P8684 [蓝桥杯 2019 省 B] 灵能传输 题解

P8684 [蓝桥杯 2019 省 B] 灵能传输 题解 Part 1 提示 题目传送门 欢迎大家指出错误并私信这个蒟蒻 欢迎大家在下方评论区写出自己的疑问(记得 @ 这个蒟蒻) Part 2 更新日志 2023-06-20 21:46 文章完成 2023-07-03 08:57 文章通过审核 20 ......
蓝桥 题解 P8684 8684 2019

*【学习笔记】(7) 线段树及高级用法

一.普通线段树 线段树(Segment Tree)几乎是算法竞赛最常用的数据结构了,它主要用于维护区间信息(要求满足结合律)。与树状数组相比,它可以实现 \(O(logn)\) 的区间修改,还可以同时支持多种操作(加、乘),更具通用性。 接下来我们用这道模板题为例,看看线段树是怎么维护区间和这一信息 ......
线段 笔记

c++ 线段树模板

洛谷模板:P3372 【线段树1】 #include <bits/stdc++.h> #define int long long using namespace std; const int N = 1e5 + 10; int a[N], d[N << 2], b[N << 2]; int n, q ......
线段 模板

CF1872G Replace With Product 题解

原题 翻译 初看此题,显然感觉有点不对劲,因为感觉如果 \(a_i\) 很大的话肯定是选越多越优秀,但之后并没有什么思路,反而想到线段树上去了(值域这么大做 nm 线段树) 发现如果 \(\prod a_i > 2 \times 10^{14}\) ,那就把做右端点收敛到都不是 \(0\) 的最远位 ......
题解 Replace Product 1872G 1872

算法题解——买卖股票的最佳时机

解题思路 先考虑最简单的「暴力遍历」,即枚举出所有情况,并从中选择最大利润。设数组 prices 的长度为n,由于只能先买入后卖出,因此第 1 天买可在未来n−1天卖出,第 2 天买可在未来n - 2天卖出……以此类推,共有 \[(n - 1) + (n - 2) + \cdots + 0 = \f ......
题解 算法 时机 股票

Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划

为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式。 不然可能需要绕几个弯才能想出来。 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, c_i\),保证从编号小的边向编号大的边连边,且 \(1\) 到 \(n\) 必有路径,求 \(1 ......
题解 Beautiful 分数 Beginner Atcoder

CF1204D2 Kirk and a Binary String (hard version) 题解

CF1204D2 Kirk and a Binary String (hard version) 题解 分析 先来分析 \(01\) 串的最长不下降子序列。全是 \(0\) 显然是不下降的,如果中间出现一个 \(1\),为了维护不下降的性质,后面就只能全是 \(1\)。一句话概括一下,\(0\) 后 ......
题解 version Binary String 1204D

题解 [ABC258G] Triangle

题目链接 \(\rm O(n^3)\) 枚举 \(i,j,k\) 的算法是显然的。 考虑优化掉一个 \(n\),如果枚举 \(i,j\),那么显然需要找出有多少个 \(k\) 同时满足 \(a_{i,k}=a_{j,k}=1\),我们可以将 \(a_i\) 和 \(a_j\) 看作两个二进制数,那么 ......
题解 Triangle 258G ABC 258

观光奶牛 详细题解

#T3 #SPFA判断正/负环 #二分查找 为啥现在突然发出来:翻自个笔记发现这篇写的挺好hhh 361. 观光奶牛 - AcWing题库 给定一张 \(L\) 个点、\(P\) 条边的有向图,每个点都有一个权值 \(f[i]\),每条边都有一个权值 \(t[i]\)。 求图中的一个环,使“环上各点 ......
题解 奶牛

CF785D Anton and School - 2 题解

CF785D Anton and School - 2 题解 分析 很明显有一种 \(\mathcal O(n^2)\) 的做法,遍历每一个 (,再枚举 \(k\),左边不包含这一位选 \(k-1\) 个 (,右边选 \(k\) 个 ),求组和即可。 但是数据范围是 \(n \le 2\times ......
题解 School Anton 785D 785

SZY 的旅行 题解

将图按照邻接矩阵存为一个矩阵,则有性质为:该矩阵的 \(k\) 次方反映了 在该图上恰好走 \(k\) 次的可达性。 有了这条性质可以按边权将所有边排序,在图上动态加入能新走的边,用矩阵快速幂处理出当前图恰好走这条边边权次的可达性矩阵。每新加入一条边,用 floyd 求出加入这条边影响后新的最短路。 ......
题解 SZY

P1084疫情控制 题解

P1084疫情控制 前言:这题思路不难,实现稍微有点难。总体来说,不算特别难的那种紫题,建议评蓝。 题目描述 给定一些点,用这些点来切断根节点到所有叶子节点的路径,可以移动这些点,不同的点可以同时移动,求时间最少。 思考过程 不同的点可以同时移动:看到这里,我们可以转化一下题目: 给定一些点,用这些 ......
题解 疫情 P1084 1084

[AGC033C] Removing Coins题解

思路 可以看出,每次对一个点 \(u\) 操作一次,就相当于删除以 \(u\) 为根的所有叶节点。 当然我们还是没有什么思路,我们可以想简单一点:在一条链上的情况。 如果 \(u\) 是链的端点:以 \(u\) 为根节点的叶节点只有一个,所以链的长度减一。 如果 \(u\) 不是链的端点:以 \(u ......
题解 Removing Coins 033C AGC

[ARC116C] Multiple Sequences题解

思路 我们可以很好的想到一种 \(O(nm)\) 的 dp: 状态:\(dp_{i,j}\) 为搜到第 \(i\) 个,最后一个数是 \(j\) 的方案数。 转移:\(dp_{i,j} = \displaystyle\sum_{k|j,k\not =j}dp_{i-1,k}\) 当然这是会超时的。 ......
题解 Sequences Multiple 116C ARC

P1612 [yLOI2018] 树上的链 题解

思路 看到条件 \(2\),我们得知:这个节点对应的最长链,一定在这个节点到根节点的简单路径上。 所以我们记录 \(1\) 到 \(i\) 之间的权值和,记为 \(sum_i\)。因为权值是正整数,所以满足单调性,可以二分。 如何二分路径上的点呢?我们维护一个与当前 dfs 同步的栈,记录从根节点到 ......
题解 P1612 1612 2018 yLOI

CSP2023 赛前集训总结

2023.09.18 T1 刘谋 题面描述 现在,反抗军首领大司马交给你一个任务:给出原来两个星球之间的以太隧道连通情况以及骚猪帝国打击的星球顺序,以尽量快的速度求出每一次打击之后反抗军占据的星球的连通块的个数。(如果两个星球可以通过现存的以太通道直接或间接地连通,则这两个星球在同一个连通块中)。 ......
2023 CSP

算法题解——多数元素

题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums = [3,2,3] 输出:3 示例 2: 输入:nums = [2,2,1,1,1,2 ......
题解 算法 元素

线段树高阶学习指南

前置芝士 线段树基本框架 区间求和 const int N=100010; ll a[N],st[N*4],f[N*4]; int n,q; //向上传 void pushup(ll u){ st[u]=st[lc]+st[rc]; } //向下传 void pushdown(ll u,ll l,l ......
线段 学习指南 高阶 指南