题解p9669 jinan order

P9058 [Ynoi2004] rpmtdq 题解

支配点对实在是太有意思了。 本质上就是一个合法的减枝。 思路 考虑维护树上路径问题。 容易想到点分治。 考虑在当前的分治中心 \(\text{rt}\),每个点到当前分治中心的距离为 \(dp_x\)。 求出每一组点对的贡献。 假设每个点对在距离长的那部分贡献,即 \(dp_i>dp_j\),求出所 ......
题解 rpmtdq P9058 9058 2004

P1002题解

思路 设 \(dp_{i,j}\) 表示第 \(i\) 行 \(j\) 列卒走到这里有多少种方式。 卒是可以向右和下走,所以到这个点只能从左或上来,不难得出转移公式:\(dp_{i,j} = dp_{i-1,j}+dp_{i,j-1}\)。 如果马在这个点上或者说马能到这个点上,那么卒不能到这个点, ......
题解 P1002 1002

P1003题解

简单模拟题。 思路 枚举每一个地毯,因为后面的会覆盖前面的,所以从正序枚举。如果要求的点的坐标在当前地毯上,则将答案赋值为当前地毯编号。 最后输出答案。 那如果这个点没有地毯呢?答案初始设为 \(-1\),这样没有地毯覆盖的话,答案不会改变,这样输出答案就会是 \(-1\)。 注意: 记得赋初始值。 ......
题解 P1003 1003

P1135题解

思路 我写的好像是动规的做法。 设 \(f_{i,j}\) 表示第 \(i\) 步 \(j\) 个点是否可以走到,值要么为 \(1\),要么为 \(0\)。最多走 \(n\) 步,因为总共只有 \(n\) 个点,每一步都肯定会多延伸出一个点,要不然就重复计算。 不难得出转移公式: \(f_{i+1, ......
题解 P1135 1135

SP9199题解

考察了小学奥数知识,不会的请先去学习一下相遇与追及。 思路 两个人相遇的点一定是有周期性的,我们可以先算出一个周期会走多远,而这个距离是两人速度的最小公倍数。 接着需分情况讨论。 如果两人是同向,则为追及,需用距离除以一人的速度减去距离除以另一人的速度。需要取绝对值。 如果两人是反向,则为相遇,需用 ......
题解 9199 SP

P5163 WD与地图 题解

来一发分治题解吧。 感觉和单纯的整体二分还是有一点区别。 虽然整体二分也能看作分治就是了。 思路 首先时光倒流。 删边改为加边。 这没有什么好说的,比较基础。 我们考虑在不断加边时,每两个点是在什么时候变成一个强连通分量里面的。 考虑分治。 首先在 \([l,r]\) 内选取中点 \(\text{m ......
题解 地图 P5163 5163

[ABC328C] Consecutive 题解

给一个长度为 \(n\) 的字符串 \(s\),\(q\) 次询问,每一次 \(l\) 和 \(r\) 区间内有多少个 \(s_i\) 等于 \(s_{i-1}\)。 \(10^5\) 的数据 \(O(N^2)\) 暴力肯定行不通。于是我们考虑预处理前缀和,处理到 \(i\) 下标以及之前有多少个 ......
题解 Consecutive 328C ABC 328

[ABC329C] Count xxx 题解

插曲 因为本人看错了题面,买看到一个子串只包含一种字母,所以切完 D 和 E 才回来发现很简单。 问题翻译 给你一个长度为 \(N\) 的字符串 \(S\),由小写英文字母组成。 求 \(S\) 的非空子串中有多少个是一个字符的重复。在这里,作为字符串的两个子串是相等的,即使它们是以不同的方式得到的 ......
题解 Count 329C ABC 329

[ABC329D] Election Quick Report 题解

题目翻译 有一场选举,要从 \(N\) 名候选人中选出一名获胜者,候选人编号为 \(1, 2, \ldots, N\),共有 \(M\) 张选票。 每张选票正好投给一位候选人,其中 \(i\) 票投给了候选人 \(A_i\)。 选票将按照从第一张到最后一张的顺序进行统计,每张选票统计完毕后,将更新并 ......
题解 Election Report Quick 329D

AT_abc329_e [ABC329E] Stamp 题解

题目翻译 给你两个字符串:\(S\) 由大写英文字母组成,长度为 \(N\);\(T\) 也由大写英文字母组成,长度为 \(M\),小于 \(N\)。有一个长度为 \(N\) 的字符串 \(X\),它只由 # 字符组成。请判断是否有可能通过执行以下任意次数的操作使 \(X\) 与 \(S\) 匹配: ......
题解 329 AT_abc Stamp 329E

[ABC328D] Take ABC 题解

题目大意: 给你一个字符串 \(s\)。你要在其中找到多少个 ABC 的子串,例如 AABCBC 算两个,删掉中间的 ABC 后,前面的和后面的加起来也是一个 ABC,所以就算两个。 思路分析: 首先很容易写出暴力,把一个 ABC 提取出来后把后面的元素往前移,然后再重复操作,但是我们发现时间复杂度 ......
题解 ABC 328D Take 328

[ABC327D] Good Tuple Problem 题解

分析: 这一道题很容易发现可以用并查集来维护 (不知道为什么其他人都用了图论),\(a_i\) 与其对应的 \(b_i\) 代表着 \(a_i\) 这个集合里不能存在着 \(b_i\)。 根据只有存在两个集合,所以我们会发现,若 \(x\) 与 \(y\) 不在一个集合且 \(x\) 与 \(z\) ......
题解 Problem Tuple 327D Good

AT_abc324_e [ABC324E] Joint Two Strings 题解

题目大意 给你 \(n\) 个字符串 \(s\),和一个字符串 \(t\)。 问你,有多少组是 \(s_j\) 拼在 \(s_i\) 后面所组成的新字符串中,\(t\) 是其子序列。 思路 分析:\(5 \times 10^5\) 的数据肯定需要 \(O(n)\) 或 \(O(n \log n)\) ......
题解 324 Strings AT_abc Joint

洛谷 P4872 OIer们的东方梦 题解

前言 一个下午,一个晚上,一个早上,可以算是一天了吧,终于调出了这道题,纪念一下吧!!! 食用更佳。 这道题其实就是一道简简单单的 BFS 模(du)板(liu)题。 说难不难,简单不简单,虽然没有难的算法,但是就是码量一百多行,比较难调。 题目难度绿,思维难度橙,代码难度蓝。真是个绝世好题。 题目 ......
题解 P4872 4872 OIer

洛谷 P6239 [JXOI2012] 奇怪的道路 题解

P6239 [JXOI2012] 奇怪的道路 首先,拿到题面,\(n \le 30\),\(k \le 8\),这不就暴搜吗。再想想,紫题会给你暴搜的机会吗?所以进一步思考,发现这其实是一道 DP,而且数据这么小,肯定是给状压 DP 的样子。 经过一定思考,发现我们可以直接线性枚举 \([1,n]\ ......
题解 道路 P6239 6239 2012

洛谷P3161 [CQOI2012] 模拟工厂题解

P3161[CQOI2012]模拟工厂题解。题目 其实发现这是一道状压,发现这道题是一道数学题,其实就很简单了。对于每一次的订单我们可以设: \(time\) 为距离下一个订单的时间。 \(num\) 为这个订单要生产的数量。 \(x\) 为生产能力。 \(y\) 的时间可以用来提高工厂的生产力。那 ......
题解 工厂 P3161 3161 2012

[ARC117E] Zero-Sum Ranges 2题解

题解 前言 个人认为官方题解写得最为详细、干净、清楚,如果有意向阅读外文版的题解的话,还是推荐去读一读: Editorial - AtCoder Regular Contest 117 本文属于转载(?),有一些自己的思考过程,希望有帮助。 题意 有多少个长度为 \(2N\) 的序列 \(A\) 满 ......
题解 Zero-Sum Ranges 117E Zero

P9779_[HUSTFC 2023] 不定项选择题_题解

# [rt](https://www.luogu.com.cn/problem/P9779)# 题目##### 有一道共 n 个选项的不定项选择题,它的答案至少包含一个选项,由于题目与选项的内容晦涩难懂,你打算通过尝试每一种可能的答案来通过这道题。##### 初始时所有选项都没有被勾选,你可以执行任 ......
题解 选择题 HUSTFC 9779 2023

【题解 P2839】 middle

[国家集训队] middle 题目描述 一个长度为 \(n\) 的序列 \(a\),设其排过序之后为 \(b\),其中位数定义为 \(b_{n/2}\),其中 \(a,b\) 从 \(0\) 开始标号,除法下取整。 给你一个长度为 \(n\) 的序列 \(s\)。 回答 \(Q\) 个这样的询问:\ ......
题解 middle P2839 2839

P8737 题解

定义 \(path(x,y,z)\) 表示 从 \((0,0,0)\) 走到 \((x,y,z)\) 的方案数。 显然的经过容斥得到,若 \(r1\le r2,c1\le c2,h1\le h2\),则 \(ans=path(n,m,w)-path(r1,c1,h1)\times path(n-r1 ......
题解 P8737 8737

CF1864D 题解

我们注意到对如图倒三角形上的所有点操作都会影响到目标点。 那么我们可以维护两个前缀和,第一个前缀和表示如下的点是否操作 第二个前缀和表示这些点是否操作 这样我们求出了前缀和之后,将两个前缀和异或一下就知道该点是否要操作了。 #include<bits/stdc++.h> using namespac ......
题解 1864D 1864 CF

P6326 Shopping 题解

非常好题目。 思路 考虑题目需要求一个连通块的背包。 点分治是平凡的,很容易想到,因为要统计的东西恰好可以把树分成几段。 但点分治操作时的背包确实卡了一下。 以前也没有见过这样的做法。 我们考虑如果直接做树上背包的话。 复杂度是绝对受不了的。 因为合并两个多重背包是基于值域的。 无法体现在树上的优势 ......
题解 Shopping P6326 6326

题解 NOIP2021 方差

原题 我认为这道题非常困难 码量并不大 可是需要很多次思维跳跃 题意 题意概述: 给定非严格递增序列 \(a_{n}\) 可以进行若干次操作,求序列方差的最小值的\(n^2\)倍 方差的定义为 \(D = \frac{1}{n} \sum_{i = 1}^{n} {(a_i - \bar a)}^2 ......
方差 题解 NOIP 2021

ARC168(A-C)题解

比赛链接:arc168 A 题意: 读入一个由<和>构成的字符串,在最开始,最后,字符之间可以填上任意数字,任意两个相邻数字之间必须满足字符代表的大小关系。求问最后填入的数字组成的数组最少有多少对逆序对。 题解: 签到。 <可以不去考虑,因为不会对答案造成影响。 >如果不是在连续段内,也可以不去考虑 ......
题解 ARC 168 A-C

[Codeforces] CF1475C Ball in Berland 题解

Ball in Berland - 洛谷 题意 在毕业典礼上,有​个男孩和​个女孩准备跳舞,不是所有的男孩和女孩都准备结伴跳舞。 现在你知道​个可能的舞伴,你需要选择其中的两对,以便使没有人重复地出现在舞伴里,求可能的数量。 思路 暴力 最朴素,也是简单的方法,就是通过暴力组合进行配对。 #incl ......
题解 Codeforces Berland 1475C 1475

【题解】HD2016.X1,HD2016.X3,HD2016.X4,HD2016.X5

[HD2016.X1] 价钱统计 题目描述 夏天到了,超市里摆满了各种各样的应季水果。现在知道:西瓜的价钱是每斤 1.2 元;桃子的价钱是每斤 3.5 元;葡萄的价钱是每斤 4.5 元;苹果的价钱是每斤 5 元。 现在分别给出上述四种所购买的斤数(均不超过 20),请你编写程序帮助售货员阿姨计算并依 ......
2016 题解 HD X1 X3

CF1898 E Sofia and Strings 题解

Link CF1898 E Sofia and Strings Question 给出两个由小写字母组成的序列 \(t\) ,\(s\) 我们有两种操作, 删去 \(t\) 中的任意一个字母 \(t_i\) 把 \(t\) 的任意一个区间 \(t_l\sim t_r\) 按从小到大排序 可以操作任意 ......
题解 Strings Sofia 1898 and

【luogu题解】P5461 赦免战俘

一、题目 现有 \(2^n\times2^n\ (n≤10)\) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵,每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免,剩下 3 个小 ......
战俘 题解 luogu P5461 5461

P8907 [USACO22DEC] Making Friends P 题解

明明看着不难的题目,却意外的卡人。 思路 考虑两头奶牛可以成为朋友条件是什么。 存在一条路径连接这两头奶牛。 且除去端点外的路径上的所有点的编号小于两端点的较小值。 充分必要性都比较显然。 如何维护。 我们可以从小到大加入点,维护这些路径。 对于每个点维护一个 \(\text{set}\)。 表示这 ......
题解 Friends Making P8907 USACO

mybatis plus order by 不支持convert函数

最近业务上有个需求,要按照企业名称中文进行排序显示。项目使用的是mybatisplus + mysql 从网上看到的排序解决方法是使用mysql 的 convert函数: select * from 客户表 where *** order by convert(`企业名称` using GBK); ......
函数 mybatis convert order plus