题解1328e cf

CF1898D - Absolute Beauty(绝对值)

题目地址 Solution 考虑把 \(|a_i-b_i|\) 转化为数轴上的线段的一条线段,那么 \(swap\) 操作可以形象转化为下图(借用官方\(Editoral\)) 考虑最大的增加(第一张图的情况)即可。 Summary 学到了 绝对值转线段,把指定操作形象化,数形结合(雾 ......
绝对值 Absolute Beauty 1898D 1898

「Note」CF 套题

散题 \(\color{royalblue}{CF840B}\) 神秘题,其实很显著,但没切出来。 考虑无解情况,因为无向边只能带来偶数个度数,所以总度数为奇数且无限制为 \(-1\) 的点时无解(因为有 \(-1\) 就可以调整为偶数)。可以证明在总度数为偶数时一定有解: 首先应该注意到总图连通, ......
Note

P9713 「QFOI R1」抱抱 题解

P9713 「QFOI R1」抱抱 题解 Sol 前置知识:长方体体积公式:\(V = abh\)。 我们知道,切割掉 \(x \le k\) 的部分就是把 \(a\) 减去 \(k\),切割掉 \(y \le k\) 的部分就是把 \(b\) 减去 \(k\),切割掉 \(z \le k\) 的部 ......
题解 P9713 9713 QFOI

NEFU OJ Problem 1496 绿巨人吃绿苹果 题解

Problem:H Time Limit:1000ms Memory Limit:65535K Description 从前有一个绿巨人,他有个习惯是每餐只吃n个绿苹果。他有一棵神树,无限大,每一层都有且仅有k个枝杈,这k个枝杈上正好分别有1,2,3...,k个苹果。为了锻炼身体,他在同一层仅仅能选 ......
题解 巨人 苹果 Problem NEFU

CF222A Shooshuns and Sequence 题解

分析 这题是一个很水的题,就是对一个序列有 $2$ 种操作方法,一种是对第 $K$ 个数以前的数的第一个进行删除,另一个则是在整个序列后添加这第 $K$ 个数,使得整个序列为同一个数字,显然,后者是无效操作,则只需要判断第 $K$ 个数以后有无与第 $K$ 个不同的数,有则无解,反之有解。若有解,然 ......
题解 Shooshuns Sequence 222A 222

[ABC328C] Consecutive 题解

Hello World 链接 这道题是一个很明显的前缀和,我们把 $sum_i$ 表示为前 $i$ 个字符有多少个有重复,查询的时候就用 $sum_{r-1}-sum_{l-1}$ 就行了。 代码 #include<bits/stdc++.h> using namespace std; string ......
题解 Consecutive 328C ABC 328

[ABC326C] Peak 题解

题目链接 题目思路 这个问题要求找到一个半开区间,使得在这个区间内包含尽可能多的礼物。首先,我们需要将输入的礼物坐标按照从小到大的顺序进行排序。然后,我们可以使用双指针的方法来寻找最佳的区间。 代码 以下是代码解释: #include<bits/stdc++.h> using namespace s ......
题解 326C Peak ABC 326

CF1085F

\(n\) 个人排成一排,每个人有石头剪刀布中一个手势,每次选择相邻两人石头剪刀布,若分出胜负则将负者剔除序列,否则选择一人剔除,问有多少人可能成为最后剩下的人。\(q\) 次询问,每次单点修改。\(n,q\leq 2\times 10^5\)。 简单题。手推一下发现一个人胜利条件等价于两边均满足以 ......
1085F 1085 CF

CF1572B

对序列的构造题,区间操作可考虑通过前缀和或差分变成单点操作。 给定 \(n\) 个 0/1 变量 \(a_1\sim a_n\),每次操作选定 \(i\),将 \(a_i,a_{i+1},a_{i+2}\leftarrow a_i\oplus a_{i+1}\oplus a_{i+2}\)。构造一组 ......
1572B 1572 CF

CF1883翻译(精校版)

比赛链接:CF1883 A.Morning 题目描述 你需要输入 \(t\) 个四位数密码,每次输入时你的光标都在第一个数 \(1\) 上,在一秒内你有两种操作: 按下光标输入一位密码。 将光标移到任意与当前数字相邻的数字。 这张图显示了你输入密码的设备,可以看到,\(5\) 相邻的是 \(4\) ......
1883 CF

CF601B Lipshitz Sequence 题解

给你一个序列 \(v_{1 \dots n}\),定义 \(f(v)\) 为 \(v\) 中斜率最大值(\(\lvert v \rvert = 1\) 则 \(f(v)=0\)),有 \(q\) 组询问,每次给定 \(1 \le l \lt r \le n\),求 \(a_{l \dots r}\) ......
题解 Lipshitz Sequence 601B 601

NEFU OJ Problem 1489 青蛙赶路 题解【动态规划DP】

Problem:G Time Limit:2000ms Memory Limit:65535K Description 有一只青蛙,每秒选择走1米或跳m米,青蛙体力不足,所以不能连续两秒都在跳。 青蛙将移动到[l,r]之间,它想知道有多少种不同的方式来实现其目标。 两种方式是不同的,当且仅当它们移动 ......
题解 青蛙 Problem 动态 NEFU

ICPC2023深圳部分题解(A,D,E,F,G,K,L)

目录正题A 一道好题题目大意解题思路D 机器人兄弟题目大意解题思路E 二合一题目大意解题思路F 见面礼题目大意解题思路G 相似基因序列问题题目大意解题思路K 四国军棋题目大意解题思路L Mary 有颗有根树题目大意解题思路 正题 好像还没上gym所以放不了题目链接,深圳这场的题目我觉得都很好所以写个 ......
题解 部分 ICPC 2023

NEFU OJ Problem1485 贪吃蛇大作战 题解

Problem:F Time Limit:1000ms Memory Limit:65535K 题目 Description 贪吃蛇大家一定都玩过吧,现在宋哥也要玩这个游戏,最初的时候贪吃蛇从屏幕的左下角出发,但是有一个非常不幸的事情,就是宋哥的游戏机的左键和下键坏掉了,这意味着什么?没错!他只能操 ......
题解 Problem NEFU 1485 OJ

洛谷 P9869 [NOIP 2023] 三值逻辑 题解

https://www.luogu.com.cn/problem/P9869?contestId=145259 看到要给变量赋初始值,还是 T, F, U 之类的,容易想到 2-SAT。 设 \(1 \sim n + m\) 的点表示 \(x_1, x_2, \dots, x_{n + m}\) 为 ......
题解 逻辑 P9869 9869 2023

P9782 题解

题意 给定两个字符,分别是两个 \(26\) 进制数,\(A\) 到 \(Z\) 分别表示 \(0\) 到 \(25\)。求这两个字符的和。答案同样用这种 \(26\) 进制表示。不包含前导 \(0\)。 思路 先转化成 \(10\) 进制,再转化成 \(26\) 进制即可。 而因为只有一位所以就不 ......
题解 P9782 9782

P9779 题解

思路 因为不一定是只有一个答案,也就是多选题。所以就转化成了在 \(n\) 个里面选若干个。 而每种个数必须都试一次。所以答案为: \[\sum_{i=1}^{i \le n} C_n^i \]\(C_n^m\) 表示在 \(n\) 个里面选 \(m\) 个方案数,即组合问题。 众所周知, \[2^ ......
题解 P9779 9779

SP3889 Closest Number题解

题意简述 有两个 \(n\) 位十进制数 \(a\),\(b\)。要将数字 \(b\) 的每一位重新排列后,使得得到的数字一个在大于等于 \(a\) 的情况下更接近 \(a\),另一个在小于 \(a\) 的情况下更接近 \(a\)。 求这两个数,如果找不到就输出 0。 思路 以大于等于 \(a\) ......
题解 Closest Number 3889 SP

AT_gigacode_2019_b 题解

本题考查基本语法。 思路 用 while 来枚举每一组数据,用 if 判断是否合法。 在判断时需要使用逻辑运算符 &&,它的意思是左右两个要求如果同时成立,则会返回 true,否则返回 false。 \(a \ge x\),\(b \ge y\),\(a + b \ge z\)。 这三个条件都要同时 ......
题解 AT_gigacode gigacode 2019 AT

SP3881 题解

前置知识 最短路。 思路 这就是一道很简单的最短路板子,太良心了,用堆优化的 Dijkstra 就能过。相信大家都会这个,我就不介绍了。 AC CODE #include<bits/stdc++.h> using namespace std; int dis[100005],n,m,s,t,vis[ ......
题解 3881 SP

CF1251E1 题解

考虑使用贪心。 对每个人按 \(m\) 从大到小排序,这样可以使后面跟风的人跟多,需要花费金币越少。 维护一个小根堆,从后往前枚举,每次将人的贿赂值入小根堆。 如果当前人民的跟风值大于在小根堆里的人数,就将答案加上堆顶元素,并将堆顶元素出堆。 最后输出答案。 注意易错点,每次要将堆清空。不会只有我才 ......
题解 1251E 1251 CF E1

AT_code_festival_2018_quala_b题解

题意 给定一个序列,里面的值只有可能是 \(a\) 或 \(b\)(\(a < b\))。有 \(m\) 个区间,这里面的值必须是 \(a\),求如何是序列总和最大。 思路 因为 \(n\) 和 \(m\) 都只有 100,所以可以先暴力将所有值设为 \(b\),再将区间里的值暴力修改为 \(a\) ......

SP28304 ADATEAMS - Ada and Teams 题解

题目传送门 前置知识 乘法逆元 | 排列组合 解法 简单的排列组合。从 \(n\) 个学校中选出 \(a\) 个学校,共有 \(\dbinom{n}{a}\) 种不同的方案数。选出的 \(a\) 个学校中每所学校再从 \(b\) 个人中选出 \(d\) 个人,共有 \(\dbinom{b}{d}^a ......
题解 ADATEAMS 28304 Teams Ada

cf1899G. Unusual Entertainment(启发式合并)

https://codeforces.com/contest/1899/problem/G 首先将将节点重新映射一下 然后就是个启发式合并板题 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #includ ......
Entertainment Unusual 1899 cf

CF909 div3

CF909 div3 A.Game with Integers 题意 两人博弈,给出一个数字,每人每次可以选择令该数字+1或者-1。如果在10步以内可以令数字为3的倍数,先手胜。否则后手胜。 数据范围 多组数据,\(1 <= T <= 100 , 1 <= n <= 1000\) 题解 后手可以恢复 ......
div3 909 div CF

P7907 [Ynoi2005] rmscne 题解

P7907 [Ynoi2005] rmscne 题解 退役前的最后一篇题解,献给 Ynoi。再见了各位。 题目大意 给定一个长度为 \(n\) 的序列和 \(m\) 次查询,对于每次查询,给定 \(l, r\),求出一个最短的子区间 \([l', r']\),满足所有在区间 \([l, r]\) 中 ......
题解 rmscne P7907 7907 2005

P3412 仓鼠找sugar II 题解

P3412 仓鼠找sugar II 题解 大水题一个 题目大意 给定你一个树,设 \(f_{u, v}\) 表示在树上随机游走的情况下从 \(u\) 走到 \(v\) 的期望步数,求 \(\displaystyle \frac{\sum_{i = 1}^n \sum_{j = 1}^n f_{i, ......
仓鼠 题解 P3412 sugar 3412

CF391D1题解

题目链接 题意简述 给出若干条平面上线段,找出最大的正+形边长多少。 思路 不难,但是判断两直线相交要考虑全面。数据不大不多,暴力直接过了。 代码 #include<bits/stdc++.h> using namespace std; typedef struct line { int sx,sy ......
题解 391D 391 CF D1

[ABC326D] ABC Puzzle 题解

题目链接 解法分析 这个问题是一个经典的排列谜题,通过回溯算法来穷举所有可能的字符排列,然后验证是否满足行和列约束。这个解决方案可以用于解决类似的谜题,其中需要满足一定的排列条件。通过仔细考虑约束条件,可以加快解决问题的速度,减少不必要的计算。 更详细的我写在代码里了。 代码 #include <b ......
题解 ABC Puzzle 326D 326

P7775 [COCI2009-2010#2] VUK 题解

链接 这道题卡了我 $40$ 多分钟。 其实就是跑两遍广搜,第一遍算出每个点距离树的最小距离,第二遍开个优先队列,算出逃回窝的途中最大可能的离它最近的树的距离的最小值。 接下来重点讲一下第二遍广搜。 首先,我们要知道,如果我们用 queue ,那么最先到的点不一定是最优的。 所以,我们需要用 pri ......
题解 P7775 7775 2009 2010