题解 联盟noip

P1075 [NOIP2012 普及组] 质因数分解

因为n是两个质数的乘积,所以直接暴力枚举,只要能被整除,直接输出 因为是要求大的那个,所以从小到大枚举,输出商即可 点击查看代码 #include<bits/stdc++.h> using namespace std; #define LL long long int main() { LL n; ......
质因数 P1075 1075 NOIP 2012

国庆NOIP储备营讲课笔记

Day1(基础算法) 讲师:余快 枚举法 例题1 给定一个数 \(x\),判断 \(x\) 是不是质数。 朴素算法:枚举 \([2,x−1]\) 之间所有的整数 \(i\),逐个判断 \(x\) 是否被 \(i\) 整除,若都不能整除则 \(x\) 是质数,时间复杂度 \(O(x)\),搞个 \(1 ......
国庆 笔记 NOIP

解题报告 P2680 [NOIP2015 提高组] 运输计划

P2680 [NOIP2015 提高组] 运输计划 题目链接 LCA的题,需要求最大值最小,考虑二分答案。 先存储每组询问的距离。 然后二分答案时找出所有比当前答案长的距离的重叠部分。 在这些重叠部分中找出权值最大的边。 判断最长链减去这条边是否小于等于当前答案。否则返回0 代码如下 /* * @A ......
报告 P2680 2680 2015 NOIP

济南 CSP-S NOIP 储备营笔记

Day 1 上午 —— 基础算法 模拟 + 枚举 小前言 碰到题目不会做 -> 先写个模拟压压惊() 枚举法 枚举的思想是不断地猜测,从所有可能的集合中一一尝试,然后再判断是否符合题目的条件。 单独提到枚举时我们往往认为这是一个暴力做法,但事实上并非如此,恰当的枚举往往会是解题的关键步骤。 例题 1 ......
笔记 CSP-S NOIP CSP

Broken robot 题解

题目链接 Rroken robot 分析 记 \(f[i][j]\) 为从 \(i\) 行 \(j\) 列到最后一行的期望,则 \( f[i][j]= \begin{cases} \frac{1}{3}(f[i][j]+f[i][j+1]+f[i+1][j])+1 &i=1\\ \frac{1}{4 ......
题解 Broken robot

ABC321题解

以后应该都是从 E 开始。 E: problem LCA题。 我们枚举向上跳 \(t\) 步,跳到了 \(y\)。 假如说 \(t = 0\) 那么我们计算 \(\text{clac}(x,k)\) 即可。(\(\text{clac}\) 怎么算放在最后讲) 否则 计算 \(\text{clac}( ......
题解 ABC 321

P5020 [NOIP2018 提高组] 货币系统

#include <cstdio> #include <algorithm> using namespace std; const int N = 105; const int A = 25005; int a[N]; bool dp[A]; int main() { int t; scanf("% ......
货币 系统 P5020 5020 2018

P1941 [NOIP2014 提高组] 飞扬的小鸟

#include <cstdio> #include <algorithm> using namespace std; const int N = 10005; const int M = 1005; const int INF = 1e9; int up[N], down[N], low[N], ......
小鸟 P1941 1941 NOIP 2014

P2427 题解

洛谷链接 题目简述 给定 \(N \times M\) 的字符矩阵,有 \(Q\) 次询问,对于每次询问给出 \(x,y\),求以 \((x,y)\) 为中心的最大正方形边长且正方形中字符均相同。 思路 看到数据范围较小,可以考虑深搜解决,约掉常数的时间复杂度最坏为 \(O(q \times \mi ......
题解 P2427 2427

AT_agc019_b 题解

洛谷链接&Atcoder 链接。 题目简述 给定一个字符串 \(A\),可以选择区间 \([i,j]\) 翻转一次,求能得到多少本质不同的字符串。(\(A\) 的长度不超过 \(2 \times 10^5\))。 思路 首先解释本质不同的含义,即不完全相等的两个字符串(可能 \(A\) 是 \(B\ ......
题解 AT_agc 019 agc AT

AT_arc111_a 题解

洛谷连接&Atcoder 链接 题目简述 给定两个数 \(n\) 和 \(m\),输出 \(\left\lfloor\frac{10^n}{m}\right\rfloor \bmod m\) 的值。 数据范围:\(n \le 10^{18},m \le 10^4\) 思路 首先看到数据范围还是很大的 ......
题解 AT_arc 111 arc AT

P1989 无向图三元环计数 题解

P1989 无向图三元环计数 题解 考虑对无向图的边定向:对于每一条无向边,度数小的点向度数大的点连边,如果读书相等则按编号大小确定。 这样枚举一个 \(u\),再枚举它的出点 \(v\),接着枚举 \(v\) 的出点 \(w\),如果存在一个 \(w\),\(u\) 向它连边,那么 \((u, v ......
题解 P1989 1989

SOJ1835 题解

题意 给出一个 \(1,\dots,n+1\) 的排列 \(v_{1},\dots,v_{n+1}\) 与两组权值 \(a_{1,\dots,n},b_{1,\dots,n}\)。满足 \(v_{n+1}=n+1\)。 构造一张 \(n+1\) 个点的有向图: 对于 \(i=1,\dots,n\), ......
题解 1835 SOJ

LOJ 6479 [ICPC World Finals 2017] 小小水管工 Son of Pipe Stream 题解

更好的阅读体验 题意 原题链接 给出 \(n\) 个城市和 \(m\) 条双向管道,以及两个实数 \(v\) 和 \(a\)。有两种液体,分别是水和 Flubber(下面简写为 W 和 F)。\(1\) 号和 \(2\) 号城市分别生产 Flubber 和水,并通过管道流入 \(3\) 号城市。对于 ......
题解 水管 Finals Stream World

题解 [HEOI2016/TJOI2016] 排序

题目链接 看到这道题按照套路首先想到二分答案(即二分 \(q\) 位置上的数,记作 \(mid\))。 再按照套路将大于 \(mid\) 的数字设为 \(1\),将等于 \(mid\) 的数设为 \(2\),小于 \(mid\) 的数字设为 \(0\)。 那么对于区间 \([l,r,0]\) 操作, ......
题解 2016 HEOI TJOI

题解 CF1873H【Mad City】

其他题解怎么又 Tarjan 又 Dijkstra 的,这是 div4H 的样子吗,来个简单好写的做法。 题面里的人名太复杂了,本题解中称为警察和小偷。 注意到,如果小偷成功到达了环上,那么一定不会被警察抓到。因为小偷知道警察下一步会走到哪里,他可以执行相同的操作(顺时针/逆时针/静止),使得他和警 ......
题解 1873H 1873 City Mad

[ARC135C] XOR to All 题解

include <bits/stdc++.h> typedef long long valueType; typedef std::vector ValueVector; constexpr valueType MAXB = 31; int main() { std::ios::sync_with_ ......
题解 135C ARC 135 XOR

[ARC124C] LCM of GCDs 题解

题面 给定 \(N\) 个正整数对 \((a_i, b_i)\) 和两个初始为空的集合 \(S, T\),你可以选择将每个数对的两个元素划分到两个不同的集合中。求 \[\max\operatorname{lcm}(\gcd\limits_{x \in S}x, \gcd\limits_{y \in ......
题解 124C GCDs ARC 124

P4370 [Code+#4] 组合数问题2-题解-有关对数的小技巧

20230927 P4370 [Code+#4] 组合数问题2-sol Statement 传送门 给你两个数 \(n,k\) , 要求对于组合数 \(C_{a}^{b}\) 找到任何 \(k\) 个, 让他们的和最大, 且组合数各不相同, 当且仅当 \(a,b\) 不完全相同时,组合数不同。 So ......
对数 题解 技巧 问题 P4370

CF364D Ghd 题解

CF364D Ghd 题解 题目大意 给定一个长度为 \(n\) 的序列 ,你需要从中选出一个元素个数不少于 \(\left\lceil{\frac{n}{2}}\right\rceil\) 的子序列,使得这个子序列中所有元素的 \(\gcd\) 最大。 分析 数据范围吓人。 \(10^6\),但是 ......
题解 364D 364 Ghd CF

[题解] CF1882D - Tree XOR

CF1882D - Tree XOR 知识点:换根 DP 。 主要难点是要思考如何操作使得代价最小,这个过程是一个贪心的过程。想到怎么操作,计算答案的过程就是一个板子换根了。 题意 给定一颗 \(n\) 个节点的树,点 \(i\) 具有权值 \(a_i\) 。现在需要你不断执行以下操作,使得树上所有 ......
题解 1882D 1882 Tree XOR

[ARC125B] Squares 题解

题意 给定正整数 \(N\),求满足如下条件的正整数对 \((x, y)\) 的数量: \(1 \le x, y \le N\) \(x^2 - y\) 为完全平方数(\(0\) 也是完全平方数) (\(1 \le N \le 10^{12}\))。 题解 因为 \(x^2 - y\) 为完全平方数 ......
题解 Squares 125B ARC 125

[题解] Codeforces Round 900(Div.3) E~F

Codeforces Round 900(Div.3) E~F E. Iva & Pav 因为按位与的结果不会随着越多数字的增加而增加,因此我们可以利用这个性质二分出右端点,只需要一个可以查询区间的数据结构即可。 或者是按位考虑第 \(i\) 个数字的第 \(k\) 位,后缀最近的 \(0\) 的位 ......
题解 Codeforces Round 900 Div

ACAM 学习笔记 | 附 YbtOJ 全部题解

怎么有人现在才学 ACAM 呢。 好像比 SAM 简单挺多啊,也不记得当时是哪里看不懂。 AC 自动机(✔) 自动 AC 机(✘) 概述 ACAM(Aho–Corasick Automaton),是用来解决多模式串匹配的字符串算法。它的结构是个 DAG,其中点表示状态,边表示转移。这一点上各种自动机 ......
题解 笔记 YbtOJ ACAM

[题解]CF1878E Iva & Pav

CF 是没题考了吧,每场都出二进制拆位。 思路 首先我们可以二分 \(r\),因为 \(r\) 越大,按位与一定只会小于等于 \(r\) 小的情况。 那么,我们可以用 \(num_{i,j}\) 记录 \(a_j\) 第 \(i\) 位的二进制情况。 如果我们对 \(num_{i,j}\) 做一个前 ......
题解 1878E 1878 Iva amp

CF1878 A-G 题解

前言 赛时代码可能比较难看。 A 判定 \(a\) 中是否有 \(k\) 即可。 赛时代码 B 奇怪的构造题。 令 \(a_1=1,a_2=3\),其他项由上一项加一开始枚举判定可行性即可,可以简单证明时间复杂度为 \(O(n)\)。 赛时代码 C 容易发现当 \(x\in \left[\dfrac ......
题解 1878 A-G CF

luogu P4819 [中山市选] 杀人游戏 题解 【强连通分量+缩点】

目录题目链接思路分析代码 题目链接 P4819 思路分析 首先考虑这道题的连通性。容易发现这种类型的题目会容易产生环形的状态转移。假设我们知道了其中的一个点是否是黑白点,那么我们就可以知道所有点是否是黑白点。容易陷入一个误区:我们只能通过一个点知道他所相邻的最直接的点,如何确定相邻的点的状态?注意本 ......
题解 分量 luogu P4819 4819

Codeforces Round 742 Div2 A-D题解

Codeforces Round 742 Div2 A-D题解 A. Domino Disaster 这题就是说给出一些2x1 tile,然后给出2xn的第一行构造,问第二行 这个刚开始想着是啥dp,一看那么多人过了果断改思路,发现这题就是个模拟题,就是把U换成D,D换成U,L和R不影响,然后输出就 ......
题解 Codeforces Round Div2 742

noip前的记录

9.26 今天打的比赛一道题也没做出来,但好像大家都考得不是很好,所以也没挨吵。考试的时候窗外运动会的声音很大,一开始还觉得有些有趣,但后来发现自己没有办法专注思考题目后就很讨厌。第一题用了一个糊的做法拿了80分,被离散化卡了,不然我这个糊做法说不定能满分(。第二题一开始想的是DP,但是想的是每加一 ......
noip

P6411 [COCI2008-2009#3] MATRICA 题解

水题。 发现根据限制 \(M_{i,j}=M_{j,i}\) 可以知道除了主对角线上的点,其他的点都是成对出现的。也就是说如果有一条要求的 \(a_i\) 为奇数,那么至少有一个 \(c_i\) 在主对角线上。 记 \(S=\sum\limits_{i=1}^{k} (a_i\equiv 1\pmo ......
题解 MATRICA P6411 6411 2008