线段459579152 zhuanlan atcoder
AtCoder Beginner Contest(abc) 321
B - Cutoff 难度: ⭐⭐ 题目大意 一场考试有n门成绩, 最终成绩是减去最大值和最小值后的和; 现在给出n-1门成绩, 问最后一门成绩最少为多少可以让总成绩大于等于m; 解题思路 列举第n门成绩由小到大时其他成绩所要满足的条件即可; 神秘代码 #include<bits/stdc++.h> ......
【杂题乱写】AtCoder-ARC116
AtCoder-ARC116_C Multiple Sequences 朴素 DP 是设 \(f_{i,j}\) 表示第 \(i\) 个位置填 \(j\) 的方案数,时间复杂度 \(O(n^2\log V)\)。 考虑求出元素都不同序列个数,再根据长度乘组合数,这样长度是 \(O(\log V)\) ......
理解线段树和主席树:解决区间操作的利器
在计算机科学和算法领域,区间操作问题是一类常见且重要的问题,它们涉及到在一维数据结构中执行查询和更新操作。线段树和主席树是两种用于解决这类问题的强大数据结构。本文将介绍这两种树状数据结构,以及它们在不同应用领域中的使用。 什么是线段树? 线段树是一种用于处理区间操作问题的数据结构,它的核心思想是将一 ......
原点到线段的垂足
原理: 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( ......
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. .. ......
线段树历史值
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 ......
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, 如果没存在就输出'-'; 解题思路 数据不大, 暴力即可; 神秘代 ......
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\), ......
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. ......
AtCoder Beginner Contest(abc) 318
B - Overlapping sheets 难度: ⭐ 题目大意 在一个坐标系中给出覆盖多个矩形, 问最后所有矩形覆盖的总面积是多少; 解题思路 坐标系的范围不大, 标记后遍历即可; 还是要注意给的是坐标系的点, 计算的是边; 神秘代码 #include<bits/stdc++.h> #defin ......
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 ......
『AtCoder做题记录』I
放假之后回机房第一天,后面洛谷永久封了,第一次尝试AT 随便打打,先试试 不知道那场比赛 T1 题面: In AtCoder city, there are five antennas standing in a straight line. They are called Antenna \(A, ......
AtCoder Beginner Contest(abc) 317
B - MissingNo. 难度: ⭐ 题目大意 给定n个数, 这n个数中最小值到最大值之间缺一个数, 输出这个数; 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #define int long long #define IOS ios::sync_ ......
【杂题乱写】AtCoder-ARC115
AtCoder-ARC115_F Migration * 把问题转化成在某个限制 \(mid\) 下求初始局面和最终局面能到达的最小代价局面,如果相等则说明可达。 比较局面的方式是比较权值,如果相等按字典序比较。 对每个节点 \(u\) 求出权值比 \(u\) 小或权值与 \(u\) 相等且编号比 ......
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 ......
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; + ......
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; ......
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) ......
Atcoder Grand Contest 016
给我贺完了? A - Shrinking 给定一个串 \(s\),每次可以进行如下操作: 记串长为 \(n\). 构造长为 \(n-1\) 的串 \(s'\),满足 \(s'_i\) 为 \(s_i\) 或 \(s_{i+1}\),令 \(s\leftarrow s'\). 问使 \(s\) 中所有 ......
向量点乘判断点是否在线段上
几种要考虑的情况 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 ......
AtCoder Beginner Contest(abc) 315
B - The Middle Day 难度: ⭐ 题目大意 在某颗星球上一年有n个月, 给定每个月的天数, 设一年的总天数是m, 请问第m/2(小数向上取整)天是第几个月的第几天; 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #define int l ......