杂题
文章平均质量分 87
Defener
这个作者很懒,什么都没留下…
展开
-
JOI 2022 Final
星际蛋糕推销先算出每一段蛋糕的长度,每次询问在原序列上二分查找或双指针即可。时间复杂度 O(N+Q)O(N+Q)O(N+Q),空间复杂度 O(N)O(N)O(N)#include<stdio.h>#include<algorithm>int a[200001];long long sum[200001];int main(){ int n,q,d; scanf("%d",&n); for(register int i=1;i<=n;i++){ s原创 2022-04-03 13:13:37 · 874 阅读 · 0 评论 -
省选前的杂题
题目:Reunion三角形异或图shallot加强版清扫银河Clamp Paths on TreePermutation Deletion金枪鱼付款金枪鱼食用Reunion三角形异或图shallot加强版维护正整数的可重集合,支持插入、删除操作,并且每次操作后都要查询子集异或和的最大值。输入的数要异或上次询问的答案。1⩽n⩽5000001 \leqslant n \leqslant 5000001⩽n⩽500000时间限制6s,空间限制512MB。清扫银河Clamp Pa原创 2022-02-18 20:51:20 · 340 阅读 · 0 评论 -
冬令营系列题目
题目:WC2020 猜数游戏WC2020 选课WC2020 猜数游戏如果猜数 xxx 可以得到 yyy,则从 xxx 连一条有向边到 yyy。如果事先建好了图,则可以简单算出每个数对答案做出贡献的概率。由于题目的特殊性质,模数一定有原根,将数按照阶分类,每一类中的数可以相互到达,类之间为一个有向无环图。因此算出每个数的阶然后分类即可。时间复杂度 O(nP)O(n \sqrt P)O(nP),空间复杂度 O(n+P)O(n+\sqrt P)O(n+P)#include<iostream&原创 2022-02-05 12:36:51 · 471 阅读 · 0 评论 -
NOIP模拟系列题目
题目列表:树树求大小为 nnn 的所有带标号无根树的直径的和模 PPP 的值。1⩽n⩽500,108⩽P⩽21474836471 \leqslant n \leqslant 500,10^8 \leqslant P \leqslant 21474836471⩽n⩽500,108⩽P⩽2147483647时间限制4s,空间限制1GB首先枚举树的直径。如果直径为偶数,则树可以看做两棵...原创 2021-10-26 23:28:18 · 196 阅读 · 0 评论 -
多校2021记录
题目:I love playing gamesI love playing games如果双方到终点最短路长度不同或能到终点的情况不同,则可以直接判出胜利方。若最短路长度相同,则先手不会败,而且还会尝试使后手失败;后手不会胜,会尝试得到平局。设 fi,jf_{i,j}fi,j 为先手在 iii,后手在 jjj 的结局。可以通过 i,ji,ji,j 距离终点的最短路判断出当前该谁移动。#include<stdio.h>#include<vector>#include&l原创 2021-07-28 09:31:34 · 136 阅读 · 0 评论 -
NOI模拟赛记录
题目:差不多得了模拟计算几何差不多得了给定平面内 nnn 个点坐标为 (xi,yi)(x_i,y_i)(xi,yi),求每个点到其他点的距离之和。要求精度达到10−410^{-4}10−41⩽n⩽2000001 \leqslant n \leqslant 2000001⩽n⩽2000000⩽xi,yi⩽1090 \leqslant x_i,y_i \leqslant 10^90⩽xi,yi⩽109时间限制1s,空间限制512MB由于一条线段在各个方向的直线上的投影长度的积分与原长成原创 2021-07-15 18:06:14 · 181 阅读 · 0 评论 -
Atcoder AGC047 E Product Simulation
题面由于不知道 A,BA,BA,B,且操作总数的限制,需要用类似快速乘的方式,将 A,BA,BA,B 拆为 log2A\log_2Alog2A 个二进制位,最后进行卷积即可。首先要召唤出一个111。只要让 AAA 与 A+BA+BA+B 比较即可。当 A,BA,BA,B 有一个为 000 时,再或一个 BBB 与 A+BA+BA+B 比较即可。当 A=B=0A=B=0A=B=0 时无法召唤出111且不需要111。有了111之后,就可以倍增得到所有 2i2^i2i 的值。记录变量 ccc 表示当前拆原创 2021-06-09 21:15:13 · 168 阅读 · 0 评论 -
Atcoder AGC044 E Random Pawn
题面首先有一个很简单的想法,设 fif_ifi 为从第 iii 个位置出发的最大收益,决策得到:fi=max(Ai,12(fi−1+fi+1)−Bi)f_i=\max(A_i,\frac{1}{2}(f_{i-1}+f_{i+1})-B_i)fi=max(Ai,21(fi−1+fi+1)−Bi)这里的下标均在模 nnn 意义下。由于收益只会来自于 AAA,所以对于 AAA 最大的 iii 一定有 fi=Aif_i=A_ifi=Ai。由此可以将环拆为链。当 Bi=0B_i=0Bi原创 2021-06-09 20:43:30 · 266 阅读 · 0 评论 -
PKUSC 2021
求和变换给定一大小为 n×nn \times nn×n 的矩阵 MMM,每次变换将 Mi,jM_{i,j}Mi,j 变为当前的 ∑k=0n−1Mi,k+Mk,j\sum_{k=0}^{n-1}M_{i,k}+M_{k,j}∑k=0n−1Mi,k+Mk,j。求原矩阵变换 ttt 次的结果,每个位置的答案对 PPP 取模。1⩽n⩽1000,0⩽t⩽109,2⩽P⩽1091 \leqslant n \leqslant 1000,0 \leqslant t \leqslant 10^9,2 \leqsl原创 2021-05-23 23:24:32 · 1106 阅读 · 1 评论 -
Atcoder AGC050
A考虑到10≈log2100010 \approx \log_2 100010≈log21000,每个页面向外连出两条边,要求任意两点距离不超过101010,因此建一颗类似于线段树的图。点 ppp 连向模意义下的点 2p2p2p 和 2p+12p+12p+1 即可。时间复杂度 O(n)O(n)O(n),空间复杂度 O(1)O(1)O(1)#include<iostream>using namespace std;int main(){ int n,a,b; cin>>原创 2021-02-18 20:34:51 · 236 阅读 · 0 评论