题解atcoder agc 004

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

CF985C 题解

CF985C题解 思路 由题意得知,现在有 $n\times k$ 块木板需要组装成 $n$ 个木桶,每个木桶由 $k$ 块板组成,容量服从短板原理,要求容量差不得超过 $I$,求最大容量和。 不管采用什么方法,无疑我们首先需要将板长(数组 $a$)从小到大排列。 利用贪心算法。先找出与 $a_0$ ......
题解 985C 985 CF

CF1552D题解

CF1552D题解 思路 首先,$a_i$ 的正负不重要,如果 $a_i=b_j-b_k$,那么就有 $-a_i=b_k-b_j$,读入时将 $a_i$ 全部转化为正数。 若满足 $a_i+a_j+\ldots+a_k$,那么就可以构造出 $b$ 序列,否则不行。 从左到右遍历一遍 $a$ 序列,动 ......
题解 1552D 1552 CF

P2678 跳石头 题解

P2678 跳石头 链接 这道题其实很水 我们二分最长距离,最后用 $check$ 函数 判断合不合法 一下是核心代码 $check$ 函数这样写: bool check(int x){ int last=0,tot=0; for(int i=1;i<=n;i++){ if(a[i]-last<x) ......
题解 石头 P2678 2678

AtCoder Beginner Contest(abc) 296

B - Chessboard 难度: ⭐ 题目大意 给定一个8*8的字符矩阵, 其中只有一个' * ', 输出它的坐标; 其坐标的列用字母表示, 行用数字表示, 具体看样例解释; 解题思路 签到题不多嗦了; 神秘代码 #include<bits/stdc++.h> #define int long ......
Beginner AtCoder Contest 296 abc

AGC060B 题解

blog。很强的思维题。 如果能用 \(0\sim 2^T-1\) 表示出来(\(T\le k\))那么显然也可以用 \(0\sim 2^k-1\) 表示出来,转化为求最小的合法填数方案 \(T\)。 如图所示,红色是唯一路径,黄粉色处是一个拐角。让在黄粉色拐弯的路径不合法,可以给两者填 \(2^0 ......
题解 060B AGC 060

UVA10652 Board Wrapping 题解

Link UVA10652 Board Wrapping Question 给出 \(N\) 个矩形,求面积最小的凸多边形能包住所有矩形 求 矩形面积占凸多边形面积的百分比 Solution 把矩形的四个顶点拿出来,就可以转化成凸包裸题了 Code #include<bits/stdc++.h> u ......
题解 Wrapping 10652 Board UVA

NEFU OJ Problem1487 时空乱流题解

时空乱流 Problem:E Time Limit:1500ms Memory Limit:65535K Description 星际飞行员Alice在一次航行中遭遇了时空乱流,时空乱流将导致Alice乘坐的飞船在n个位面之间穿梭。 星际宇航局管理员Bob收到了Alice的求救信号,决定在某些位面上 ......
乱流 题解 时空 Problem NEFU

AtCoder Beginner Contest 328

B - 11/11 题意是:有n个月份,要你计算出月份上的每个数位与对应月份中的每个日期数位一致的日期和 直接模拟即可 using namespace std; int a[200]; int p; bool check(int x){ p=x%10; x/=10; while(x){ int q= ......
Beginner AtCoder Contest 328

CF1899 D Yarik and Musical Notes 题解

Link CF1899 D Yarik and Musical Notes Question 给出一个序列 \(a\) ,我们定义 \(b_i=2^{a_i}\) 求 \(b_i^{b_j}=b_j^{b_i} (i<j)\) 的个数 Solution 考虑化简式子 \[\begin{aligned ......
题解 Musical Yarik Notes 1899

T399753 counting problem(计数问题)题解

Link T399753 counting problem(计数问题) Question 给出一个正整数 \(n\) ,求 \(AB+CD=n\) 的方案数, \(A,B,C,D\) 都是要求是正整数 Solution 考虑直接枚举 \(ABCD\) 显然是不切实际的 那么就折半枚举 设 \(F_i ......
题解 counting T399753 problem 399753

T399750 Cell kingdom(Hard) 题解

Link T399750 Cell kingdom(Hard) Qustion 第一天产生 \(1\) 个细胞,之后的每一天,一个细胞都会分裂成 \(8\) 个和自己一样的细胞,每个细胞在第三天都会自爆并且带走当天产生的 \(6\) 个细胞,求第 \(x\) 天有多少细胞 Solution 我们设 ......
题解 T399750 kingdom 399750 Cell

T399742 Ting'er loves traveling 题解

Link T399742 Ting'er loves traveling Question 给出一个图,使得 \(1\) 到 \(N\) 的路径上的最大值最小 Solution 看到最大值最小想到二分,二分最大值 \(top\) 然后去 check 验证能不能从 \(1\) 走到 \(N\) Cod ......
题解 traveling T399742 399742 loves

AtCoder Beginner Contest(abc) 325

B - World Meeting 难度: ⭐ 题目大意 一家公司在全球多地都有分公司; 现在总公司想选择一个时间点让所有公司都来开会; 但是每个公司的上班时间是 9:00-18:00; 给定每个公司的人数和相对于总公司的时差, 会议持续一个小时, 请问总公司最多能让多少人参加会议 解题思路 因为数 ......
Beginner AtCoder Contest 325 abc

T399751 Liangle's Rose Problem(亮亮的玫瑰问题)题解

Link T399751 Liangle's Rose Problem(亮亮的玫瑰问题) Question 给出一个数组 \(a\) ,有 \(Q\) 次询问,每次询问 \([L,R]\) 种随便挑选几个连续的 \(a_i\) 使得,他们几个的或的值最大 Solution 考虑贪心,如果把负数视为 ......
题解 玫瑰 T399751 Liangle Problem

T399752 The Maze of the Imperial Sister(御姐的迷宫)题解

Link T399752 The Maze of the Imperial Sister(御姐的迷宫) Question 判断图内是否有环 Solution 先判断连通性,所有点是不是在一个块内,然后用树的性质,点数 \(=\) 边数 \(+1\) 判断 Code #include<bits/std ......
题解 迷宫 Imperial T399752 399752

Atcoder 中高分段 选做 与 ARC vp

开坑,主推红题和铜牌题,来源乱七八糟,目前一部分来自学校给的。 一眼秒了标绿,想了很久或是接受了提示标蓝,看了题解或者认为题很难标红。意义重大标星。很主观(然后发现其实基本上大多数题都不会,狠狠地难过了)。 以后有时间可能会开始板刷 ARC,现在,还是,慢慢来吧。 upd-2023-10-30:和 ......
Atcoder ARC vp

P4115 Qtree4 题解

P4115 看到单点修改,求全局白色的最远距离,可以使用点分树。 考虑维护这棵点分树,想想树的直径的 dp 求法:\(f_u = \max\{f_v + w(u, v)\}\),答案为 \(\max(f_v+f_{v'})(v,v'\in \{\text{son}_u\})\),\(\{\text{ ......
题解 Qtree4 P4115 Qtree 4115

UVA 11178 Morley's Theorem 题解

计算几何 Link UVA 11178 Morley's Theorem Question Morley 定理是这样的,作三角形 ABC 每个内角的三等分线,相交成三角形 DEF,则 DEF 是等边三角形 给出 \(A,B,C\) 坐标,求 \(D,E,F\) 坐标 Solution 其实是一道计算 ......
题解 Theorem Morley 11178 UVA

【题解 CF1628D2】 Game on Sum

Game on Sum (Hard Version) 题面翻译 Alice 和 Bob 正在玩一个游戏,游戏分为 \(n\) 个回合,Alice 和 Bob 要轮流对一个数 \(x\) 进行操作,已知这个数初始值是 \(0\)。 具体每个回合的行动规则如下: Alice 选择一个在区间 \([0,k ......
题解 1628D 1628 Game Sum

【题解 ABC180F】 Unbranched

[ABC180F] Unbranched 题面翻译 求 \(N\) 个点,\(M\) 条边且满足以下条件的图的数量: 图中无自环; 每个点度数最多为 \(2\); 连通块大小的最大值恰好为 \(L\)。 答案对 \(10^9+7\) 取模。 \(2\le N\le300\),\(1\le M,L\l ......
题解 Unbranched 180F ABC 180

A2OJ Ladder 32 简要题解

https://earthshakira.github.io/a2oj-clientside/server/Ladder32.html 只记录 Difficulty level >= 8 的。有很多题是口胡的。写了的会标注提交记录。还有些很久以前写过的题就懒得搬提交记录了。任何的 * 都表示该段的后 ......
题解 简要 Ladder A2OJ 2OJ

题解 P7972【[KSN2021] Self Permutation】

怎么其他两篇题解都是 \(O(n\log n)\) 的,来发一个 \(O(n)\) 做法,当考前复习了。 对原序列建出小根笛卡尔树,节点编号与原序列中的下标相同。记 \(T_u\) 表示以 \(u\) 为根的子树,\(lc(u),rc(u)\) 分别表示 \(u\) 的左儿子和右儿子。 设 \(f_ ......
题解 Permutation P7972 7972 2021

CF73D题解

首先将题意转化一下,假设我们在第一步中将原图划分成了 \(p\) 个连通块,计第 \(i\) 连通块大小为 \(siz_i\),那么每个连通块可以向外连 \(\min{(k,a_i)}\) 条边。而使原图联通显然至少需要 \(p-1\) 条边,形式话的来讲,我们能在第二步使图联通这个条件等价于 \( ......
题解 73D CF 73

AtCoder Beginner Contest(abc) 324

B - 3-smooth Numbers 难度: ⭐ 题目大意 给定一个数字n, 问是否可以找到两个数x和y, 使得 n = 2x3y; 解题思路 因为n的范围最大到1e18, 所以只需要暴力找x和y即可; 神秘代码 #include<bits/stdc++.h> #define int long ......
Beginner AtCoder Contest 324 abc

[ARC106F] Figures 题解

题意 给定 \(N\) 个带有若干洞的节点,其中第 \(i\) 个点上有 \(d_i\) 个洞。 先可以在两个不同的节点的洞之间连边,一个洞最多连一条边,求使得最终形成的图是一棵树的方案数,对 \(998244353\) 取模。 洞之间相互区分,两个方案不同当且仅当存在一条边在两个方案中的连的洞不同 ......
题解 Figures 106F ARC 106

P9400 题解

blog。很 naive 的题,写这篇题解,主要是现有题解都用的线段树 / 平衡树,让我感到很难绷。 一眼 DP。\(dp_{i,j}\) 表示前 \(i\) 个宿舍,现在有连续 \(j\) 个灯亮大于 \(B\),方案数。 \(dp_{i,0}=\max(\min(B, r_i) - l_i + ......
题解 P9400 9400

CF8E 题解

blog。抽象意义上单杀了。 首先第一位必定为 \(0\),然后取反串就不用去考虑了。 \(n\le50\),考虑爆搜。搜整个串的前一半(设半长为 \(M=\left\lfloor\dfrac n2\right\rfloor\),前一半的串在十进制下值为 \(v\)),后半段的数量可以计算: 整个串 ......
题解 CF8E CF8 CF 8E