[Ynoi2011]D1T1】的更多相关文章

题目大意: 给定一个序列$a_1,a_2,\dots,a_n$,进行$m$次操作,每次操作如下: 1. 给定$x,y,z$,对所有下标为$y,y+x,y+2x,\dots$的元素加上$z$(保证$y\leqslant x$).2. 给定$l,r$,求$(\sum\limits_{i=l}^r a_i)\bmod{1000000007}$的值. 解题思路: 分块+根号分治简单维护即可. 考虑对$x$的大小分类讨论. 若$x\geqslant \sqrt n$,则我们暴力给每个位置加,需要加的次数为…
[2018HN省队集训D1T1] Tree 题意 给定一棵带点权树, 要求支持下面三种操作: 1 root 将 root 设为根. 2 u v d 将以 \(\operatorname{LCA} (u,v)\) 为根的子树中的点权值加上 \(d\). 3 u 查询以 \(u\) 为根的子树中的点的权值之和. 初始时根为 \(1\). \(n,q\le3\times 10^5\) 时限 \(1\texttt{s}\). 题解 垃圾卡常题毁我青春 写这个题解主要是存板子的...毕竟LCT上比较科学优…
嵊州D1T1 总统先生,一路走好! 在总统先生的所有财产就是 n 杯黑咖啡,咖啡店可以用 m 个空杯子换一杯黑咖啡. 因为总统的特殊身份,心地善良而心生怜悯的咖啡店店长决定先借给总统一杯黑咖啡,只要他最后 能还回来就好. 但是为了不在公众面前暴露总统的身份,店长的行为不能太过于引人注目,所以店长最多也只会先借给总统先生一杯黑咖啡. 现在,总统先生一共能喝多少杯黑咖啡? 尊严!正义!哪怕是一杯咖啡. Input 一行两个整数 n, m. Output 一行一个整数,表示总统最多能喝多少杯黑咖啡.…
题目背景 2017国庆清北D1T1 题目描述 你是能看到第一题的 friends 呢. ——hja 何大爷对字符串十分有研究,于是天天出字符串题虐杀 zhx.何大爷今天为 字符串定义了新的权值计算方法.一个字符串由小写字母组成,字符串的权值 被定义为其中出现次数最多的字符的次数减去出现次数最少的字符的次数. (注 意,在讨论出现最少的字符的时候,该字符必须至少出现一次)现在何大爷给 你一个字符串,何大爷想知道这个字符串的所有子串中权值最大的权值是多 少? 输入输出格式 输入格式: 第一行一个整数…
P5311 [Ynoi2011] 成都七中 题意 给你一棵 \(n\) 个节点的树,每个节点有一种颜色,有 \(m\) 次查询操作. 查询操作给定参数 \(l\ r\ x\),需输出: 将树中编号在 \([l,r]\) 内的所有节点保留,\(x\) 所在连通块中颜色种类数. 每次查询操作独立. 思路 考虑点分树的思想.假设我们已经建出点分树,对于每一个分治中心,我们应该维护什么东西? 我们从分治中心开始遍历,记录遍历到每个点路径上编号的最小值和最大值.很显然,如果遍历到一个询问的 \(x\) 的…
一般情况下,程序运行消耗时间主要与时间复杂度有关,超时与否取决于算法是否正确. 但对于某些题目,时间复杂度正确的程序也无法通过,这时我们就需要卡常数,即通过优化一些操作的常数因子减少时间消耗. 比如这道题 P5309 [Ynoi2011] 初始化 . 这道题目的做法我写在另一篇博客里,这里主要研究卡常方式. #include<bits/stdc++.h> using namespace std; const int h=200010; inline int read() { int s = 0…
题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: 这时singer告诉小南一个谜題: "眼镜藏在我左数第3个玩具小人的右数第1个玩具小人的左数第2个玩具小人那里. " 小南发现, 这个谜题中玩具小人的朝向非常关键, 因为朝内和朝外的玩具小人的左右方向是相反的: 面朝圈内的玩具小人, 它的左边是顺时针方向, 右边是逆时针方向; 而面向圈外的玩具小人, 它的左边…
题目链接:https://nanti.jisuanke.com/t/16445 题意: 给你一个n*n大小的01矩阵,和一个k*k大小的锤子,锤子只能斜着砸,问只砸一次最多能砸到多少个1. 题解: 将原矩阵顺时针旋转45°,二维前缀和预处理,然后枚举每一个可能砸到的正方形之和并取最大. 注:枚举的正方形的四个顶点必须是从原矩阵旋转过来的点,否则会出现砸到下面的这种情况: (*代表不是原矩阵旋转过来的点,阴影代表砸到的部分) 代码中用vis数组判断是否为原矩阵中旋转过来的点. AC Code: #…
将点(xi,wi)看成区间(xi-wi,xi+wi),那么两个点有连边当且仅当两个区间没有公共点.删去所有包含其它区间的区间,在剩下的区间中每次贪心取一个能取的坐标最小的区间. #include<bits/stdc++.h> using namespace std; int n; ]; inline bool cmp(line a,line b){return a.l<b.l;} int main(){ //freopen("clique.in","r&qu…
那年一个雨季,AmyZhi 在校门外弯身买参考书. 这时 SiriusRen 走过来,一言不合甩给她一道“自认为”很难的题: --------------- 给你一个数字 NN(NN 的范围是 11 ~ 10000001000000),求一个最小的正整数 MM,这个数字 MM 的各个位的数字加上它本身之和恰好为NN. --------------- 没有想到 AmyZhi 秒解了这道题并把 NN 扩大到了 10^{18}10​18​​ 甩回给了 SiriusRen. SiriusRen 苦苦思索…