线段459579152 zhuanlan atcoder

AtCoder Beginner Contest 332

C - T-shirts 题意是:给定一个string,字符代表每天有不同的事,做不同的事会穿不同的衣服,问你最少需要准备多少T恤。 思路:贪心,能不用T恤就不要T恤 #include<bits/stdc++.h> using namespace std; void solve(){ int n,k ......
Beginner AtCoder Contest 332

AtCoder Beginner Contest 333

总结 人生第一次掉rating 全tm是降智操作 A 水题 B 逆天操作 WA了3发 第三发交的时候以为过了,等到切完E发现B怎么还没过( #include<bits/stdc++.h> using namespace std; map<string, int> f; int main() { f[ ......
Beginner AtCoder Contest 333

简单线段树

一、什么是线段树? 线段树是怎样的树形结构? 线段树是一种二叉搜索树,每个结点都存储了一个区间,也可以理解成一个线段,你要从这些线段上进行搜索操作得到你想要的答案。 线段树能够解决什么样的问题? 线段树的适用范围很广,可以在线维护修改以及查询区间上的最值,求和。 需要注意的是,线段树只可以维护满足结 ......
线段

AtCoder Beginner Contest 332

坐地铁时口糊了6题,回来写时结果爆long long,0没有逆元,卡了好久 A - Online Shopping (abc332 A) 题目大意 线上购物,买了\(n\)种物品,分别给出它们的单价和数量。 若总价少于\(s\)元,则需要支付 \(k\)元邮费,否则包邮。 问总价多少。 解题思路 求 ......
Beginner AtCoder Contest 332

CF1784C Monsters (hard version) 题解 线段树

题目链接:https://codeforces.com/problemset/problem/1784/C 题目大意: 你面前有 \(n\) 只怪兽,每只怪兽都有一个初始血量,你可以进行两类操作: 操作1:选择任意一个血量大于 \(0\) 的怪兽,并将它的血量降低 \(1\); 操作2:将所有存活的 ......
线段 题解 Monsters version 1784C

AtCoder Grand Contest 040 F Two Pieces

洛谷传送门 AtCoder 传送门 第二道问号题。 设 \(A \ge B\)。我们现在将点的坐标刻画到二维平面上。相当于找到一条 \((0, 0) \to (A, B)\) 的路径,要求不能跨过直线 \(y = x\)。有 \(3\) 种移动方式: 向右移动一格。 向上移动一格。 将当前点提到直线 ......
AtCoder Contest Pieces Grand 040

线段树

线段树 什么是线段树 线段树(英语:Segment tree)是一种二叉树形数据结构,1977年由Jon Louis Bentley发明[1],用以存储区间或线段,并且允许快速查询结构内包含某一点的所有区间。 一个包含n个区间的线段树,空间复杂度为O(n),查询的时间复杂度则为O(logn+k)}, ......
线段

刷题 ST表、单调栈、线段树->区间最值

2023.12.13 cf1904D2 解题思路 首先,a[i]大于b[i]时肯定不行,等于就满足了,直接过掉 其次,要想使得a[i]等于b[i],就要在a[i]左右找最近的j使得a[j]=b[i](最近的最优,可证) k是i和j中间的一个数,想要满足题意,要满足以下两个条件(a[j]=b[i]) ......
线段 区间 gt

AtCoder Beginner Contest 332 题解

A - Online Shopping 题目链接 Atcoder Luogu 简要题意 共有 \(n\) 件商品,第 \(i\) 件商品的价格为 \(p_i\) 日元,数量为 \(q_i\) 件。 除了购买商品所需的的钱数,还要支付运费:如果所买商品的总价小于 \(s\) 日元,那么要支付运费 \( ......
题解 Beginner AtCoder Contest 332

AtCoder Beginner Contest 332

AtCoder Beginner Contest 332 A - Online Shopping 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e6 + 10; typed ......
Beginner AtCoder Contest 332

AtCoder Grand Contest 001

比赛链接 A - BBQ Easy 从小到大排序以后,答案就是所有奇数位置之和。 B - Mysterious Light 发现去掉前两次反射以后,剩下的是一个在平行四边形内反射的过程,且形式类似于辗转相除。具体地, \[F(n,x)=\begin{cases} -n & x=0\\ 2x\lflo ......
AtCoder Contest Grand 001

【线段树入门】P3353 在你窗外闪耀的星星(区间求和)

这题正解是前缀和,我用线段树练练手>< 1 1 //笔记-自用 2 2 //#pragma GCC optimize("Ofast") 3 3 //#pragma GCC optimize("unroll-loops") 4 4 #define _CRT_SECURE_NO_WARNINGS 5 5 ......
线段 区间 星星 P3353 3353

【线段树入门】 P1198 最大数(区间最大值+无懒标记+末尾插入)

1 //笔记-自用 2 //#pragma GCC optimize("Ofast") 3 //#pragma GCC optimize("unroll-loops") 4 #define _CRT_SECURE_NO_WARNINGS 5 #define All(a) a.begin(),a.en ......
线段 最大值 末尾 区间 标记

线段树入门】P3870 开关(区间异或和)

1 // 2 //#pragma GCC optimize("Ofast") 3 //#pragma GCC optimize("unroll-loops") 4 #define _CRT_SECURE_NO_WARNINGS 5 #define All(a) a.begin(),a.end() 6 ......
线段 区间 P3870 3870

AtCoder Regular Contest 169

A - Please Sign 某个 \(A_i\) 对 \(A_1\) 的贡献是 \(\binom{10^{100}}{\mathrm{dep}_i}\),所以深度为 \(d\) 的节点的 \(A_i\) 之和只要不为 \(0\),其贡献就一定远大于深度 \(<d\) 的所有点的贡献之和。 从大到 ......
AtCoder Regular Contest 169

【线段树入门】P3373 线段树 2(区间乘加)

//笔记-自用 //#pragma GCC optimize("Ofast") //#pragma GCC optimize("unroll-loops") #define _CRT_SECURE_NO_WARNINGS #define All(a) a.begin(),a.end() #defin ......
线段 区间 P3373 3373

AtCoder Beginner Contest 332 (D)

题目链接 思路: 这就是一个二维的全排列问题 代码: #include<bits/stdc++.h> using namespace std; using ll = long long; #define LNF 0x3f3f3f3f3f3f3f3f #define INF 0x3f3f3f3f #d ......
Beginner AtCoder Contest 332

ATCoder 332 A-D

A : Online Shopping (读懂题即可) package AtCoder.begin332; import java.util.Scanner; public class A { public static void main(String[] args) { Scanner sc = ......
ATCoder 332 A-D

【题解】AtCoder abc322_f Random Update Query

传送门:https://atcoder.jp/contests/abc332/tasks/abc332_f 容易发现,对于一个位置 $i$,$A_i$ 的最终值是由对 $i$ 的最后一次赋值操作决定的;因此,将所有操作按时间顺序倒过来考虑,则由第 $j$ 次操作决定 $A_i$ 最终值的概率为"在第 ......
题解 AtCoder Random Update Query

【题解】AtCoder abc332_g Not Too Many Balls

传送门:https://atcoder.jp/contests/abc332/tasks/abc332_g 看完题,第一眼反应为最大流。 建模方式为:以颜色为左部点,盒子为右部点,源点 $S$ 向颜色 $i$ 连一条容量为 $A_i$ 的边,盒子 $j$ 向汇点 $T$ 连一条容量为 $B_j$ 的 ......
题解 AtCoder Balls Many 332

AtCoder_abc332

AtCoder_abc332 比赛链接 A - Online Shopping A题链接 题目大意 这里有\(N\)件商品,第\(i\)件商品价格为\(P_i\),你要购买\(Q_i\)件,除了购买的费用外,他还要支付运费。 如果购买的总价大于\(S\),运费为0元,否则他需要支付\(K\)元的运费 ......
AtCoder_abc AtCoder 332 abc

AtCoder Regular Contest 169 (ARC169)

怎么有人 ARC A 卡了半天的? A. Please Sign 考虑 \(i\) 位置上的数,下次它被加到 \(P_i\),再下次被加到 \(P_{P_i}\),因为这个序列有性质 \(P_i<i\),这样加若干轮一定会到达 \(1\)。 令所有的 \(i\) 向 \(P_i\) 连边,则这是一棵 ......
169 AtCoder Regular Contest ARC

AtCoder Beginner Contest 332

AtCoder Beginner Contest 332 A - Online Shopping int main() { IOS; for (_ = 1; _; --_) { cin >> n >> m >> k; ll ans = 0; rep (i, 1, n) { ll a, b; cin ......
Beginner AtCoder Contest 332

Atcoder abc301 复盘(更新中)

跳转比赛链接 A - Overall Winner 简述: 高桥和青木下了 \(N\) 盘棋。给你一个长度为 \(N\) 的字符串 \(S\),表示这两盘棋的结果。如果 \(S\) 的 \(i\) 个字符是 t,那么高桥赢得了 \(i\) 局;如果 \(S\) 的 \(i\) 个字符是 A,那么青木 ......
Atcoder 301 abc

AtCoder Beginner Contest 331 G - Collect Them All【概率期望+容斥+多项式】

题目链接:ABC331_G 写在前面 将来如果回顾这道题,建议自己看完题意一定先重新推一遍。如果还是不够熟练,多去做一些同类型的题目吧。 题意: 盒子里有 \(N\) 张卡片,每张卡片上写着一个数字,数字的范围是 \(1,...,M\),写着数字 \(i\) 的卡片有 \(C_i\) 张\((C_i ......
多项式 概率 Beginner AtCoder Contest

2020年初一初二集训队(线段树) 基本操作

其他 线段树详解与实现 - 知乎⁤ (zhihu.com) 线段树 - OI Wiki (oi-wiki.org) 线段树 学习笔记 - xujindong 的博客 - 洛谷博客 (luogu.com.cn) 简介 线段树(segment tree)是一种二叉搜索树,也是平衡二叉树,它的每一个结点对 ......
集训队 线段 基本操作 2020

可持久化线段树(主席树)

给定 n 个整数构成的序列 a,将对于指定的闭区间 [l,r] 查询其区间内的第 k 小值。 题目一开始的离散化复杂度为\(O(n\log n)\),构建基础主席树复杂度为\(O(n\log n)\),统计并插入的复杂度是\(O(n\log n + n\log n)=O(n\log n)\),询问的 ......
线段 主席

线段树模板区间加(含懒标记)

const int N = 1e5 + 10; int n, m; int a[N]; struct Tree{ int l,r; ll sum,add; }tr[4*N]; void build(int u,int l,int r){ // l=tr[u].l;r=tr[u].r; //注释掉的部 ......
线段 区间 标记 模板

AtCoder Beginner Contest 331

C - Sum of Numbers Greater Than Me 题意:给定一个长度为n的数组,分别找出比a[i]大的数组里的数的和 思路:用map记录每个数的个数,然后遍历一遍,后面一个项就是数组之和-前面一项-前面的累加 #define int long long using namespa ......
Beginner AtCoder Contest 331

线段树

首先是建树 我们先构建整棵树的框架 struct node { int l,r; string data; }g[N*4];//不一定非要构建结构体,看题目需求,如果不涉及左右范围的话就可以直接构造数组 //n表示的是树上每个结点的数值,比如说第一个结点为1,那莫第一个结点的左子树为2,右子树为3/ ......
线段
共1120篇  :3/38页 首页上一页3下一页尾页