题解1628d game sum

[NOI2010] 超级钢琴 题解

[NOI2010] 超级钢琴 题解 说点闲话 原本不想写这个题解的 但是看到我的代码居然长度为2048B->刚好2KiB,然后还跟题号相同QAQ 题目翻译 给你一段序列,求出其中从第\(1\)大到第\(k\)大的子区间的和。 思路解析 首先可以想到一个简单的暴力,对于每一个区间开头\(i\),和区间 ......
题解 钢琴 2010 NOI

2023 CSP-J2 T1,2,3题解

今年的 \(CSP−J\) 对本蒟蒻来说有点难度。。。 A [CSP-J 2023] 小苹果 题目描述 小 Y 的桌子上放着 \(n\) 个苹果从左到右排成一列,编号为从 \(1\) 到 \(n\)。 小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。 每天在拿的时候,小苞都是从左侧第 \(1\) ......
题解 CSP-J 2023 CSP T1

[TJOI2013] 松鼠聚会 题解

[TJOI2013] 松鼠聚会 题解 切比雪夫距离 切比雪夫距离指的是在平面上的两个点\((x_1,y_1)\),\((x_2,y_2)\)之间横纵坐标之差绝对值中的大者。用公式表示则是\(f(a,b)=max(|x_a-x_b|,|y_a-y_b|)\)。 切比雪夫距离与曼哈顿距离之间可以相互转换 ......
题解 松鼠 TJOI 2013

[NOIP 2013提高组]货车运输 题解

[NOIP 2013提高组]货车运输题解 前置知识 Kruskal 重构树(内含讲解)+任意一种LCA 题目翻译 \(n\)座城市,\(m\)条道路,\(q\)次询问,每次求两个点\(x,y\)之间所有路径的最小值的最大值。 题目分析 其实学了Kruskal重构树差不多看到这个题目就知道怎么写了。 ......
题解 货车 NOIP 2013

CF777D题解

分析 发现每个字符串只会被它的后缀规定,那么就从后往前计算,使得计算每个字符串的时候其后缀已经合法。 因为每一次计算我们都只想删最少的字符,而且删得越少这个字符串的字典序就越大,所以它的前缀的最小字典序就越大,需要删的字符就越少,所以对于每一次计算都只删最少的字符的贪心策略符合全局最优,所以这个贪心 ......
题解 777D 777 CF

CF777题解

分析 先对每一列都做 DP 寻找极长单调不降区间,能够得到若干极长单调不降区间,只要询问的区间是这些区间的子区间,那么说明在这个区间内必有一列的这个区间是单调不降的。 思考如何快速判断子区间。 用 \(f_{x}\) 表示以 \(x\) 为所有左端点为 \(x\) 的区间的右端点最大值,那么对于询问 ......
题解 777 CF

CF777B题解

分析 思考对于 \(M\) 的每个数而言,贡献是一定的,它最多只能换掉一个数。 那么贪心地能换就换,但是如果换小的可能会导致更小的数换不掉,那么就换能换的最大的,这样不会干扰只能换小数的其他数,能换这个数的可以去换其他数,如果连其他数都换不掉说明这两个数等效,换谁都一样,所以这样换一定是最优的。 如 ......
题解 777B 777 CF

CF777A题解

分析 发现操作 \(6\) 次后就会回到初状态,于是将状态打表,将 \(n\bmod6\) 即可。 代码 #include <iostream> using namespace std; constexpr int MAXN(1000007); int a[6][3] = { {0, 1, 2}, ......
题解 777A 777 CF

CF888G题解

分析 看到异或不难想到 01Trie。 不难想到,当两个数的值相等的时候,我们可以当这两个点是一个点,因为连边的费用为 \(0\)。 那么对于一个序列 \(n\),若存在 \(m\) 种不同的权值,那么在 Trie 树上子节点数为 \(2\) 的节点就有 \(m-1\) 个(因为如果一个数新加进来与 ......
题解 888G 888 CF

PAT_A1104 Sum of Number Segments

Given a sequence of positive numbers, a segment is defined to be a consecutive subsequence. For example, given the sequence { 0.1, 0.2, 0.3, 0.4 }, we ......
Segments Number PAT_A 1104 PAT

P3400 仓鼠窝 题解-单调栈典题

20231026 P3400 仓鼠窝 题解-单调栈典题 Statement 传送门 输出 01 矩阵中不含 0 的子矩阵的个数。\(n,m \le 3000\) Solution 很妙的做法,典题,于是写了题解。 做法也很简单,就是你枚举每一个节点作为右上角的点的方案数, 发现其实有很多无用的点,比 ......
仓鼠 题解 P3400 3400

#交互,鸽笼原理#CF1776C Library game

题目 有一个长度为 \(m\) 的书架,以及 \(n\) 个长度 \(a_1,a_2,\dots,a_n\) Alessia 和 Bernardo 从书架上取书。每次由 Alessia 选择一个之前没选过的 \(i\), 并选择一个长度为 \(a_i\) 的区间,需要保证这个区间内的书全都没有被取过 ......
鸽笼 原理 Library 1776 game

P8865 [NOIP2022] 种花 题解

前言 去年多测不清空导致即便 CCF 放过了我的 \(O(n^2 m)\) 的代码但依然挂成了 \(0pts\)。 当时看清空数组后能过 CCF 数据就没再管。 时隔 \(1\) 年,重做这道题写了 \(O(nm)\) 的正解,终于完成了当年的心愿。 \(O(n^2 m)\) 思路 想到计算方案的话 ......
题解 P8865 8865 2022 NOIP

SP4082 MBLAST - BLAST 题解

几万年前做的 dp 题了,有亿点点水 题意简述 求一个字符串添加多少个空格距离最小 解法 求距离最小,可以考虑动规,其实这题的写法和最长公共子序列的写法类似。 我们设 \(f(i,j)\) 表示 \(a[1] \sim a[i]\) 和 \(b[1] \sim b[j]\) 的距离 不加空格的时候为 ......
题解 MBLAST BLAST 4082 SP

CF596B Wilbur and Array题解

同步发布与洛谷(太懒了不想写东西直接搬过来了(((逃 ) 原题链接 简单贪心。 题意 求一个起始全为 \(0\) 的数列 \(a_1,a_2 \cdots a_n\) 每次可以选择一个数 \(i\) 使 \(a_i \cdots a_n\) 都加上或减去 \(1\),求修改成给定的序列 \(b_1, ......
题解 Wilbur Array 596B 596

[AGC061A] Long Shuffle 题解

题意 给定一个满足 \(A_i=i\) 的排列 \(A\),求对其进行一次 \(\mathrm{shuffle}(1,N)\) 操作后其第 \(K\) 项的值。其中 \(\mathrm{shuffle}(L,R)\) 的定义如下: 若 \(R = L + 1\),那么交换 \(A_L\) 和 \(A ......
题解 Shuffle 061A Long AGC

P4678 [BalticOI 2005] Bus Trip 题解

P4678 [BalticOI 2005] Bus Trip 题解(RE:题解再改造!!) 贴码 #include<bits/stdc++.h>#define MAXN 500010using namespace std;//ifstream is("trip.in",ios::in); //ofs ......
题解 BalticOI P4678 4678 2005

CF888F题解

分析 手玩样例发现连一条边实际上是将一个多边形分割成两个部分,而且不能在这两个部分直接连边,发现这两个部分是完全独立的,于是考虑区间 DP。 设状态 \(f_{l,r}\) 表示将 \([l,r]\) 区间连成树的方法数量。 那么存在两种转移,一种是 \(l,r\) 间不直接连边,这样中间的点都需要 ......
题解 888F 888 CF

P9753 [CSP-S 2023] 消消乐 题解

考虑预处理。 处理 $a$ 数组,每次走到一个位置 $i$,往前搜索。 当前位置不等于 $i$ 则通过这个位置继续往前查找。一直到当前位置等于 $i$,或者到达最前端则停止。 接下来进行第二次处理。 由于已经对 $a$ 进行过预处理,在计算时只需要从有值的点分别往前统计即可。 最后求一遍和。 /* ......
题解 P9753 CSP-S 9753 2023

CF1586I 题解

CF1586I 题解 传送门 更好的阅读体验 简化题意:有 $n\times n$ 的网格,你需要进行黑白染色,使得每个格子的颜色恰好与 2 个与其四联通的格子的颜色相同,其中有些位置已经确定,问是否有解及是否有唯一解。 思路: 很神仙的构造题。 先从特殊的地方入手。对于 4 个角,它们只和 2 个 ......
题解 1586I 1586 CF

[HDU 3483] A Very Simple Problem 题解

题目描述 快速求出下面式子的值: \[\left(\sum\limits_{k=1}^{N}k^{x}x^{k}\right)\bmod M \]其中 \(1 ≤ N, M ≤ 2\times 10^9\), 并且 \(1 ≤ x ≤ 50\)。 题解 (solution) 对于该类题目,\(N\) ......
题解 Problem Simple 3483 Very

P5537 【XR-3】系统设计 题解-哈希+线段树二分

20231026 P5537 【XR-3】系统设计 题解-哈希+线段树二分 这个东西怎么会和哈希有关?!直接寄。 Statement 这个系统首先需要输入一棵 \(n\) 个点的有根树和一个长度为 \(m\) 的序列 \(a\),接下来需要实现 \(q\) 个操作。 操作分两种: 1 x l r 表 ......
线段 题解 系统 P5537 5537

「NOIP2016 提高组」天天爱跑步题解

题目背景NOIP2016 提高组 Day1 T2 题目描述小 C 同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。《天天爱跑步》是一个养成类游戏,需要玩家每天按时上线,完成打卡任务。 这个游戏的地图可以看作一一棵包含 n 个结点和 n-1 条边的树, 每条边连接两个结点,且任意两个结 ......
题解 NOIP 2016

题解 QTREE7 - Query on a tree VII

题目描述 一棵树,每个点初始有个点权和颜色。 0 u :询问所有 \(u,v\) 路径上的最大点权,要满足 \(u,v\) 路径上所有点的颜色都相同。 1 u :反转 \(u\) 的颜色。 2 u w :把 \(u\) 的点权改成 \(w\) 。 \(color_i\in[0,1]\),\(w_i\ ......
题解 QTREE7 QTREE Query tree

CF1746F Kazaee 题解

对集合的一些判断可以考虑随机化哈希。 给每个数随一个权,如果集合 \(S\) 中每个数的出现次数都是 \(k\) 的倍数,那 \(S\) 中元素的权值之和就会是 \(k\) 的倍数,否则会是一个在 \([0,k)\) 中随机的值。 也就是说如果这个集合不满足要求,我们做一次这个检测,有 \(\fra ......
题解 Kazaee 1746F 1746 CF

003Square(n)Sum(8kyu)from codewars

Square(n)Sum Complete the square sum function so that it squares each number passed into it and then sums the results together. 完成平方和函数,对每个传入其中的数字平方并相 ......
codewars Square 8kyu from 003

CF888E题解

分析 看到 \(n \leq 35\) 的数据范围就想到了 meet-in-middle。 先爆搜出对于 \(1 \sim \frac{n}{2}\) 和 \(\frac{n}{2} \sim n\) 两个下标范围内在模意义下所有的和。 然后用一个常见 trick,就是枚举第二个部分的和,然后匹配第 ......
题解 888E 888 CF

P9754 [CSP-S 2023] 结构体 题解

大模拟的话,大家应该都会,主要就是容易写挂。 操作 1 先理解什么叫做对齐规则。这点我们以样例 2 进行解释: struct a { int aa; short ab; long ac; byte ad; } 那么 aa 占据了 \(0\text{~}3\) 字节的地址,ab 占据了 \(4\tex ......
题解 结构 P9754 CSP-S 9754

CCC 2023 题解 和 思考过程

Trianglane 水题,只要分情况判断中间和两侧有边叠牢的情况,每次减2 #include <iostream> #include <cstdlib> #include <cstdio> #include <cmath> #include <algorithm> #include <cstrin ......
题解 过程 2023 CCC

「题解」Codeforces Round 905 (Div. 3)

before 终于有一篇题解是一次性更所有题的了。 A. Morning Problem A. Morning Sol&Code 根据题意模拟即可。 #include <bits/stdc++.h> typedef long long ll; int min(int a, int b) { retu ......
题解 Codeforces Round 905 Div