![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
duiduia001
这个作者很懒,什么都没留下…
展开
-
对拍
无原创 2022-10-29 23:24:29 · 81 阅读 · 1 评论 -
带修改主席树(树状数组套主席树)
原题链接:Yuuki and a problem 查询与2021icpc昆明M相同:[l,r]区间内无法最小无法合成的数,相比昆明加入了修改。2021ICPC昆明M对以root[i]为根的树进行修改会影响以root[i+1…n]为根的树。修改的时间代价太大。采用树状数组维护主席树的每个版本。每次修改为O(logN)O(logN)O(logN),因此修改的时间复杂度最坏为O(Nlog2N)O(Nlog^2N)O(Nlog2N).今天第一次做踩了一个坑: 每次修改时若还未对某个节点分配一个idx才分配原创 2021-10-27 15:14:31 · 173 阅读 · 0 评论 -
第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(沈阳)
题目链接D.JourneytoUn′GoroD.Journey to Un'GoroD.JourneytoUn′Goro题意题意题意构造长度为n的字符串,每个点是b或r。之后选两个点L,R(1≤L≤R≤n),使得[L,R]中有奇数个r,问(L,R)点对的最大数量。按字典序输出构造的序列,如果数量>100只输出前100个构造长度为n的字符串,每个点是b或r。之后选两个点L,R(1 \leq L \leq R \leq n),使得[L,R]中有奇数个r,问(L,R)点对的最大数量。按字典序输出构造的原创 2021-10-12 09:44:40 · 1064 阅读 · 3 评论 -
2021-04-07
原题链接知识点:主席树设某个区间内所有<=sum的数的和为sum要合成sum+1,则必须在区间中找到sum + 1,若不能找到,答案就是sum + 1若能找到:则1 ~ sum + s也能被表示(s 为区间中所有值为sum + 1 的数的和)#include <bits/stdc++.h>using namespace std;typedef long long LL;const int N = 1000010;struct Node { int ls,原创 2021-04-07 20:32:46 · 48 阅读 · 0 评论 -
AtCoder Regular Contest 115 C - ℕ Coloring
原题链接结论:第i 个数染上 i的约数个数+1 种颜色首先,这种染色方法一定是满足题意的:这个数的约数的约数个数一定小于这个数的约数个数,因此这样这个数的颜色编号一定大于(满足题目的不等于)它的所有约数的颜色编号,而1的颜色编号是1,因此颜色编号在约数个数的基础上+1显而易见,这种染色方法的到的序列中的最大数一定是最小的用试除法计算每个数的约数个数用到调和级数时间复杂度约为O(N lonN)#include <iostream>using namespace std;const原创 2021-04-09 10:48:56 · 171 阅读 · 0 评论 -
Come Back Quickly
Come Back Quickly用堆优化的dijkstra为每个点求得最短回路可过(时间复杂度O(N * N * logM))dijkstra算法中将与起点相连的点入小根堆,起点距离仍为∞,同时将这些点的距离了初始化(注意连个点之间可能有多条边,因此距离每次都要取min),之后相当于求多源最短路,起点第一次出队时返回(第一次入队时不一定是最小值)。另外注意点之间是单向边#include <iostream>#include <cstdio>#include <cs原创 2021-02-08 15:51:38 · 208 阅读 · 0 评论