- 2024-11-17NOIP 数据结构
线段树标记看成序列而不是数权值对权值、标记对标记、标记对权值P1471区间加,区间平均值,区间方差区间平均值等同于区间和将方差式子拆解:$\frac{1}{n}\sum(A_i-\overline{A})^2=\frac{1}{n}(\sum{A_i}^2-2\sumA_i\overline{A}+n{\overline{A}}^2)$把\(\overline
- 2024-10-10二维前缀和 & 二维差分
二维前缀和求二维前缀和后,能够实现\(O(1)\)求原数组二维区间和,但是不支持修改。lln,m,sum2[N][N],c[N][N];voidSum2_pre(){fr(i,1,n)fr(j,1,m)sum2[i][j]=sum2[i-1][j]+sum2[i][j-1]-sum2[i-1][j-1]+c[i][j];}llSum2(llx
- 2024-10-0420240923
Bouquet我们可以设计一个状态\(dp_i\)表示前\(i\)朵花内最多可以选多少朵花,如果第\(j\)朵花和第\(i\)多花不冲突,要满足以下条件\[r_j<i且l_i>i\]那么我们可以在\(r_j\)时再让\(j\)的转移合法,那么只用\(1\lej\ler_i\)那么带修的区间查询是什么数据结
- 2024-09-262535. 数组元素和与数字和的绝对差
给你一个正整数数组nums。元素和是nums中的所有元素相加求和。数字和是nums中每一个元素的每一数位(重复数位需多次求和)相加求和。返回元素和与数字和的绝对差。注意:两个整数x和y的绝对差定义为|x-y|。示例1:输入:nums=[1,15,6,3]输出:9解释:nums的元
- 2024-09-15[ABC371D] 1D Country 题解
这题,怎么说呢,\(STL\)大法好。前置芝士:lower_pound函数在结构体上的使用。那其实这题便是一个二分前缀和的水题了。结构体存储每个村庄的距离\(x\),人口\(d\)。对于每个输入的\([l,r]\)二分查找其对应的村庄,进行一次答案的统计,输出即可。代码:#include<bits/stdc++.
- 2024-09-1318057 ASCII码值之和的差
**思路**:1.读取两个字符串`s1`和`s2`。2.计算每个字符串中所有字符的ASCII码值之和。3.计算两个字符串的ASCII码值之和的差。4.输出结果。**伪代码**:1.读取字符串`s1`。2.读取字符串`s2`。3.初始化`sum1`和`sum2`为0。4.对于`s1`中的每个字
- 2024-09-10线段树 transformation——hdu 4578
问题描述:给定一个数列,数列中所有元素都初始化为0,对其执行多种区间操作操作1:add修改:对区间[L,R]内的所有数加c操作2:multi修改:对区间[L,R]内所有数乘以c操作3:change操作:把区间[L,R]内所有数改为c操作4:sum操作:对区间中的每个数的p次方求和。1<=p<=3输入:有不超过10个测试用例。
- 2024-09-082024CCPC网络赛题解
前言开局掉线30min比较搞心态,不过比赛延迟了1个小时,但是后面也一直没过题,如果时间再少点可能排名还更好看。最后是8题前面,这里简单讲一下我有写的题,队友写的题就放一下队友的赛时代码,大家自己看看吧。B队友写的,签到,但是数据范围\(n\)给\(10^3\)给队友整不自信了,因为答案的
- 2024-05-13P10217 [省选联考 2024] 季风
[原题链接](https://www.luogu.com.cn/problem/P10217) 发现一定是若干个整段数组和一个前缀,可以枚举长度模$n$的余数,即位前缀。记当前位置为$i$,当前$x$数组前缀和为$sum1$,$y$数组为$sum2$,$x$数组总和为$sumx$,$y$数组总和为$sumy$。整段数组的个数为$m$,答案即
- 2024-03-08模拟赛c题补题
暴力的写法会导致题目超时所以采用前缀和但是前缀和如果只靠一个数组表示会很绕https://vjudge.net/contest/614523#problem/C暴力代码(过不了)点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintp=2e5+10;ints1[p],s2[p],qq[p];intmain(){ intn,
- 2024-03-04九下三月上旬日记
3.1闲话详见NOI2024联合省选暨HEOI2024游记。做题纪要luoguB3908异或构造题?构造\(x=\bigoplus\limits_{i=1}^{n}a_{i}\)即可。点击查看代码intmain(){ lln,a,x=0,i; cin>>n; for(i=1;i<=n;i++) { cin>>a; x^=a; } cout<<x<<""&
- 2024-02-20[COGS 755]山海经:线段树
这是一道美妙的线段树板子,能够有效地提升我们的读题,理解,思考和代码能力;综上,这是一道大模拟显然,对于这道题的数据范围,直接暴力是行不通的,只能拿30分:30分暴力#include<bits/stdc++.h>usingnamespacestd;constintN=1000005;constintinf=0x7fffffff;structtree{ int
- 2024-02-02洛谷题单指南-暴力枚举-P2392 kkksc03考前临时抱佛脚
原题链接:https://www.luogu.com.cn/problem/P2392题意解读:由于可以同时计算两道同一科的题目,只需要把某一科题目分两堆,使得两堆总时长之差最小,时长较大的一堆就是完成这一科的最短时间。解题思路:既然直到了要把一科题目分两堆,关键是如何分堆呢?比较容易犯的错是用贪心来解题:把
- 2024-02-01饼状图点击图例更新数据
myChart.on('legendselectchanged',function(params){//监控图例变化console.log(edata);//edata即data数据varsum2=0;for(vari=0;i<edata.length;i++){if(params.selected[edata[i].name]==false){}else{ sum2+=edata[i].value } } optio
- 2024-01-20LG8563
题目传送门貌似各路神仙都用线段树、平衡树秒了这题,蒟蒻在此献上一篇暴力的题解。分析看到数据范围$1\len,q\le2\times10^5$,而且还要求区间最大乘积\(M\),很容易想到用线段树。但当我们看完题目,看到当\(M\)大于\(2^{30}\)时直接输出一个字符串,便发现很多情况下是无
- 2023-12-24[ABC265F] Manhattan Cafe 题解
[ABC265F]ManhattanCafe题解思路解析很有思维难度的一道题。思路是dp,\(f[i][j][k]\)表示已经计算了\(i\)维,距离点\(p\)的距离为\(j\),距离点\(q\)的距离为\(k\)时的整点\(r\)个数,由此可见我们的每一维都可以从上一维推出来,也即\(f[i][j][k]\)可以由\(f[i-1][j
- 2023-11-23「杂题乱刷」洛谷P9253
题目链接P9253[PA2022]Ornitolog2题目简述给定一个音高序列,输出最少要修改多少整数才能使这个序列成为交替鹡鸰鸟鸣的音高序列。题意分析操作后的音高序列总共有\(2\)种可能:音量由高变低再由低变高;音量由低变高再由高变低。又因为大小范围是\(10^4\times5
- 2023-11-19【教3妹学编程-算法题】三个无重叠子数组的最大和
2哥 :3妹,咋啦?一副苦大仇深的样子?3妹:不开心呀不开心,羽生结弦宣布离婚。2哥 :羽生什么?3妹:羽生结弦!2哥 :什么结弦?3妹:羽生结弦!!!2哥:羽生结弦是谁?他离婚关你啥事啊?3妹:你不知道,他是日本著名花滑运动员,前几个月刚宣布结婚,没想到这么快就离了。真是短时间内震惊我两次!2哥 :哎,人家怎
- 2023-11-04Educational Codeforces Round 157 (Rated for Div. 2) D. XOR Construction
题目链接题意给你\(n-1\)个整数\(a_1,a_2,\dots,a_{n-1}\)。你的任务是构造一个数组\(b_1,b_2,\dots,b_n\),使得:从\(0\)到\(n-1\)的每个整数都在\(b\)中出现一次;对于从\(1\)到\(n-1\)的每个\(i\),\(b_i\oplusb_{i+1}=a_i\)(其中\(\oplus\)表示
- 2023-10-25P9744 「KDOI-06-S」消除序列 题解
@目录DesciptionSolutionCodeDesciption给定一个长度为\(i\)的序列\(v_1,v_2,\dots,v_n\),初始时所有元素的值都为\(1\)。对于下标\(i\)有\(3\)种操作:将\(v_1,v_2,\dots,v_i\)的值变为\(0\),费用是\(a_i\)。将\(v_i\)的值变为\(0\),费用是\(b_i\)。将\(v_i\)
- 2023-10-1720231017模拟赛
异或帽子(hat)显然,\[B_i=(\oplus_{j=1}^{n}A_j)\oplusA_i\]因为\(2|n\),所以:\[S=\oplus_{i=1}^{n}B_i=\oplus_{i=1}^{n}A_i\]那么\[A_i=S\oplusB_i\]#include<bits/stdc++.h>usingnamespacestd;intn;ints;inta[200005];signedmain
- 2023-10-09P7928 [COCI2021-2022#1] Kamenčići
P7928[COCI2021-2022#1]Kamenčići[P7928COCI2021-2022#1]Kamenčići-洛谷|计算机科学教育新生态(luogu.com.cn)目录P7928[COCI2021-2022#1]Kamenčići题目大意思路code题目大意Alice和Bob又在玩游戏。在他们面前有\(n\)块石头排成一行,石头有红和蓝两种颜
- 2023-10-06力扣-2535-数组元素和与数字和的绝对差
给你一个正整数数组nums。元素和是nums中的所有元素相加求和。数字和是nums中每一个元素的每一数位(重复数位需多次求和)相加求和。返回元素和与数字和的绝对差。注意:两个整数x和y的绝对差定义为|x-y|。 示例1:输入:nums=[1,15,6,3]输出:9解释:nums的元素
- 2023-09-25运算符
运算符intc=5;booleana=(c<4)&&(++c<4);//此时因为c<4肯定是false所有在与(&&)运算中结果肯定为false后面的就不执行了System.out.println(c);//这叫短路运算c还是等于5System.out.println(a);intsum=10;intsum2=20;System.out.println(sum+s
- 2023-09-242023湖南省赛 E.ytree (线段树)
传送门大致思路:1.将操作1拆分为两个部分x(-1)^d+kd(-1)^d。对于操作1中的x(-1)^d部分而言。我们可以对式子进行拆分,把x拆出来,我们会发现和v号点距离为奇数的点会减去x,为偶数的点会加上x,所以我们可以在线段树上用一个sum1维护应该减去的值,sum2维护加上的值即可。2.随即就是