线段459579152 zhuanlan atcoder

AtCoder Beginner Contest(abc) 321

B - Cutoff 难度: ⭐⭐ 题目大意 一场考试有n门成绩, 最终成绩是减去最大值和最小值后的和; 现在给出n-1门成绩, 问最后一门成绩最少为多少可以让总成绩大于等于m; 解题思路 列举第n门成绩由小到大时其他成绩所要满足的条件即可; 神秘代码 #include<bits/stdc++.h> ......
Beginner AtCoder Contest 321 abc

【杂题乱写】AtCoder-ARC116

AtCoder-ARC116_C Multiple Sequences 朴素 DP 是设 \(f_{i,j}\) 表示第 \(i\) 个位置填 \(j\) 的方案数,时间复杂度 \(O(n^2\log V)\)。 考虑求出元素都不同序列个数,再根据长度乘组合数,这样长度是 \(O(\log V)\) ......
AtCoder-ARC AtCoder ARC 116

理解线段树和主席树:解决区间操作的利器

在计算机科学和算法领域,区间操作问题是一类常见且重要的问题,它们涉及到在一维数据结构中执行查询和更新操作。线段树和主席树是两种用于解决这类问题的强大数据结构。本文将介绍这两种树状数据结构,以及它们在不同应用领域中的使用。 什么是线段树? 线段树是一种用于处理区间操作问题的数据结构,它的核心思想是将一 ......
线段 区间 利器 主席

原点到线段的垂足

原理: 1) 求出向量ao在ab上的投影距离 2) a沿着ab方向移动投影距离就是垂足点的位置 // 获得原点到直线ab的垂点 public static Vector2 GetPerpendicularToOrigin(Vector2 a, Vector2 b) { var ab = b - a; ......
线段 原点

AtCoder Beginner Contest(abc) 320

B - Longest Palindrome 难度: ⭐ 题目大意 找一个字符串中最长的回文子串 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #define int long long #define IOS ios::sync_with_stdio( ......
Beginner AtCoder Contest 320 abc

D - ABC Puzzle -- ATCODER ABC 326

D - ABC Puzzle https://atcoder.jp/contests/abc326/tasks/abc326_d Sample Input 1 Copy 5 ABCBC ACAAB Sample Output 1 Copy Yes AC..B .BA.C C.BA. BA.C. .. ......
ABC ATCODER Puzzle 326

线段树历史值

P6242 【模板】线段树 3 支持区间加,区间取 \(\min\),区间求和,区间 \(\max\),区间历史 \(\max\)。 先提一嘴吉司机。 就是对线段树的每个节点记录最大值,严格次大值和最大值个数,只在 \(se<v<mx\) 的区间操作,否则向下递归。如果没有区间加,复杂度势能分析是 ......
线段 历史

AtCoder Beginner Contest 327

A - ab #include<bits/stdc++.h> using namespace std; #define mp make_pair #define int long long using vi = vector<int>; using pii = pair<int, int>; con ......
Beginner AtCoder Contest 327

AtCoder Beginner Contest(abc) 319

B - Measure 难度: ⭐ 题目大意 给定一个数N, 我们要求输出长度为n+1的一个序列Si(i从0到n), 对于Si, 如果存在j(j从1~9)是N的一个除数, 并且i是N/j的一个倍数, 那么Si就是满足条件的最小的j, 如果没存在就输出'-'; 解题思路 数据不大, 暴力即可; 神秘代 ......
Beginner AtCoder Contest 319 abc

AtCoder Beginner Contest 327 (ABC327)

A. ab 直接根据题意模拟即可。 Code B. A^A 直接枚举 \(i= 1, 2,\dots, 15\),每次看看 \(i ^ i\) 是否等于 \(A\) 即可。 Code C. Number Place Description 给你一个 \(9 \times 9\) 的矩阵 \(A\), ......
327 Beginner AtCoder Contest ABC

AtCoder Beginner Contest 327

A - ab 题意:判断字符串中是否有“ab”或者是“ba“ #include<bits/stdc++.h> using namespace std; void solve(){ int n; cin>>n; string s; cin>>s; if(s.find("ab")!=s.npos||s. ......
Beginner AtCoder Contest 327

AtCoder Beginner Contest(abc) 318

B - Overlapping sheets 难度: ⭐ 题目大意 在一个坐标系中给出覆盖多个矩形, 问最后所有矩形覆盖的总面积是多少; 解题思路 坐标系的范围不大, 标记后遍历即可; 还是要注意给的是坐标系的点, 计算的是边; 神秘代码 #include<bits/stdc++.h> #defin ......
Beginner AtCoder Contest 318 abc

Exhausted? 题解(线段树)

Exhausted? 题解 前言: 看本篇题解,您如果想要掌握所有知识点的话,请您先去了解下什么是霍尔定理,当然如果可以的话,可以去看看我的这个博客。 涉及的算法和思想知识点: 线段树、扫描线。 霍尔定理。 较少的容斥原理。 正文: 理论分析: 从简单入手:我们想想,要是值域再小一点的话,我们可以怎 ......
线段 题解 Exhausted

线段树合并

空间复杂度,一般是根据操作次数来计算的,或者按照题目的空间,算出最大开多少数组。 根据感性理解,线段树的深度是\(\lceil log_2n\rceil\)的,反正\(d = \lfloor log_2n\rfloor+1\)肯定够。 那\(m\)次操作,注意这个操作不一定是原题中的询问,而是你对于 ......
线段

向量叉乘判断两点是否在线段同侧

ap1×ab与ap2×ab的结果异号,则表示两点在线段两侧;同号则表示在线段同侧 有一个点在线段上或两个点都在线段上,当做在线段同侧处理 //两点是否在线段同侧 public static bool IsTwoPointSameSideOfSegment(Vector2 a, Vector2 b, ......
线段 向量

用线段树来接树状数组类的问题

大致解决的问题就是区间查询以及单点的修改 #include<bits/stdc++.h> #define int long long using namespace std; const int N=5e5+10; int a[N],tag[N<<2]; struct{ struct{ int l, ......
线段 数组 问题

AtCoder Beginner Contest(abc) 327

B - A^A 难度: ⭐ 题目大意 给出一个数n, 问是否存在一个数m, 使mm = n; 解题思路 因为n的数据范围很大, 到1e18, 经过打表可以发现, 当m=16时就已经大于1e18了, 因为数很多所以用了__int128, 因为double会损失精度; 神秘代码 #include<bit ......
Beginner AtCoder Contest 327 abc

『AtCoder做题记录』I

放假之后回机房第一天,后面洛谷永久封了,第一次尝试AT 随便打打,先试试 不知道那场比赛 T1 题面: In AtCoder city, there are five antennas standing in a straight line. They are called Antenna \(A, ......
AtCoder

AtCoder Beginner Contest(abc) 317

B - MissingNo. 难度: ⭐ 题目大意 给定n个数, 这n个数中最小值到最大值之间缺一个数, 输出这个数; 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #define int long long #define IOS ios::sync_ ......
Beginner AtCoder Contest 317 abc

【杂题乱写】AtCoder-ARC115

AtCoder-ARC115_F Migration * 把问题转化成在某个限制 \(mid\) 下求初始局面和最终局面能到达的最小代价局面,如果相等则说明可达。 比较局面的方式是比较权值,如果相等按字典序比较。 对每个节点 \(u\) 求出权值比 \(u\) 小或权值与 \(u\) 相等且编号比 ......
AtCoder-ARC AtCoder ARC 115

Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) 赛后总结

Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) 赛后总结 可悲的是:我没来得及写题解。 Task A Same 秒切。 直接输入排一遍序再遍历即可。 #include <bi ......

HHKB Programming Contest 2023(AtCoder Beginner Contest 327) 赛后总结

HHKB Programming Contest 2023(AtCoder Beginner Contest 327) 赛后总结 又没来得及写题解。。。 赛时 A - ab 查找 ab 和 ba,只要其中一者存在就行。 #include <bits/stdc++.h> using namespace ......
Contest Programming Beginner AtCoder HHKB

HHKB Programming Contest 2023(AtCoder Beginner Contest 327)

HHKB Programming Contest 2023(AtCoder Beginner Contest 327) A - ab int main() { IOS; string s; cin >> n >> s; bool f = false; for (int i = 1; i < n; + ......
Contest Programming Beginner AtCoder HHKB

HHKB Programming Contest 2023(AtCoder Beginner Contest 327)

HHKB Programming Contest 2023(AtCoder Beginner Contest 327) A. ab 解题思路: 模拟即可。 代码: #include <bits/stdc++.h> using namespace std; using ll = long long; ......
Contest Programming Beginner AtCoder HHKB

AtCoder Beginner Contest 327

A - ab (abc327 A) 题目大意 给定一个字符串\(s\),问是否包含 ab或ba。 解题思路 遍历判断即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = long long; int main(void) ......
Beginner AtCoder Contest 327

Atcoder Grand Contest 016

给我贺完了? A - Shrinking 给定一个串 \(s\),每次可以进行如下操作: 记串长为 \(n\). 构造长为 \(n-1\) 的串 \(s'\),满足 \(s'_i\) 为 \(s_i\) 或 \(s_{i+1}\),令 \(s\leftarrow s'\). 问使 \(s\) 中所有 ......
Atcoder Contest Grand 016

向量点乘判断点是否在线段上

几种要考虑的情况 1) 点p和线段断点a, b重叠,pa•ab=pa.x*pa.y+ab.x*ab.y=0 2) pa, pb共线,则pa×pb=0 2-1) p在线段ab上,此时pa, pb的夹角为180度,cos(180)=-1,pa•ab=-|pa|*|ab| 2-2) p在线段ab外,此时p ......
线段 向量

AtCoder Beginner Contest 326 (ABC326)

A. 2UP3DOWN 直接模拟即可。 Code B. 326-like Numbers 枚举,每次拆除百、十、个位,再判断。 Code C. Peak Description 数字线上放置了 \(N\) 个礼物。第 \(i\) 个礼物放置在坐标 \(A_i\) 处。 可以在数轴上选择长度为 \(M ......
326 Beginner AtCoder Contest ABC

AtCoder Beginner Contest(abc) 315

B - The Middle Day 难度: ⭐ 题目大意 在某颗星球上一年有n个月, 给定每个月的天数, 设一年的总天数是m, 请问第m/2(小数向上取整)天是第几个月的第几天; 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #define int l ......
Beginner AtCoder Contest 315 abc

点是否在线段上

几种要考虑的情况 1) 点p和线段断点a, b重叠 2) pa, pb共线, p在线段ab上 3) pa, pb共线, p在线段ab外 4) pa, pb不共线 //点是否在线段上 public static bool IsPointOnSegment(Vector2 p, Vector2 a, V ......
线段