联赛模拟测试10 C. 射手座之日】的更多相关文章

题目描述 分析 方法一(线段树) 线段树维护的是以当前节点为左端点的区间的贡献 而区间的右端点则会从 \(1\) 到 \(n\) 逐渐右移 当我们把右端点从 \(i-1\) 的位置扩展到 \(i\) 的位置时 如果原先区间的最近公共祖先到根节点的路径中经过 \(a[i-1]\) 和 \(a[i]\) 的最近公共祖先 那么我们直接把这些区间的价值累加到 \(a[i-1]\) 和 \(a[i]\) 的最近公共祖先上 同时将其子树清空,还要把 \(a[i]\) 位置上的贡献加一 每次移完右端点后都要统…
安度因:哇哦. 安度因:谢谢你. 第三个rank1不知为什么就来了.迷之二连?也不知道哪里来的rp 连续两次考试数学都占了比较大的比重,所以我非常幸运的得以发挥我的优势(也许是优势吧,反正数学里基本没有模板) 怎么说呢?我感觉,不是我考得好,这次,大家的失误貌似都比较多. (天天在宿舍乱嗨爆粗什么的rp--?) T3没审题的人一片一片的爆零,T2模板爆炸的不只我一个,T1应该有一群人想到n2就没打. 这次考试一个题解都没有写,T1T3太简单,T2到现在都改不出来... 可是考场上状态还是不错的:…
题目传送门(内部题103) 输入格式 第一行一个数$n$,表示结点的个数. 第二行$n–1$个数,第$i$个数是$p[i+1]$.$p[i]$表示结点$i$的父亲是$p[i]$.数据保证$p[i]<i$. 第三行$n$个数,$a[1],a[2],...,a[n]$,表示关卡表.数据保证这是一个排列. 第四行$n$个数,$x[1],x[2],...,x[n]$,表示结点的权值. 输出格式 输出一个数表示答案.即对于所有可能的回合,你们能获得的总收益是多少. 数据范围与提示 对于$20\%$的数据,…
题目描述 \(duyege\) 的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹. 为了查出真相,\(duyege\) 准备修好电脑之后再进行一次金坷垃的模拟实验. 电脑上面有若干层金坷垃,每次只能在上面撒上一层高度为 \(v_i\)的金坷垃 或者除掉最新\(v_i\) 层(不是量)撒的金坷垃.如果上面只留有不足\(v_i\) 层金坷垃,那么就相当于电脑上面没有金坷垃了. \(duyege\) 非常严谨,一开始先给你 \(m\) 个上述操作要你依次完成. 然后又对实验步骤进行了\(q\)次更改,…
大佬 显然假期望 我奇思妙想出了一个式子$f[i]=f[i-1]+\sum\limits_{j=1}^{j<=m} C_{k \times j}^{k}\times w[j]$ 然后一想不对得容斥 于是我得到$f[i]=f[i-1]+\sum\limits_{j=1}^{j<=m} C_{j\times(k-1)}^{k-1} \times w[j]$ 但还是不对 现在思考第一个式子为什么不对 我们枚举矩阵选数 1 2 3 1 2 3 1 2 3 这样我们C的话概率会很鬼$\frac {4}{…
这次意外考得不错…但是并没有太多厉害的地方,因为我只是打满了暴力[还没去推T3] 第一题折腾了一个小时,看了看时间先去写第二题了.第二题尝试了半天还是只写了三十分的暴力,然后看到第三题是期望,本能排斥,跑回去写第一题了. 手画第一题的样例2,指着图片一点一点调试发现思路中间就错了,然后开了份新代码重写去了,好在原来那份里大部分东西都用得上.按数据点骗分,推出了y=2的性质,最后居然多拿了25分. 只剩下二十分钟了,第三题直奔数据范围.把k=2的分手推出来,然后非常没有梦想地选择搜索过小于8的数据…
T1 这道题在考场上想到了二维前缀和,就是自己算前缀和的方式有点麻烦,导致花的时间较长,但还是成功搞了出来. 因为暴力计算的话需要不停枚举左上角和右下角的 i ,j, 时间复杂度为 n^4 ,我当时就想一种能不能减少一层或者两层枚举内容,但是没什么思路. 考虑这样一个性质:在模k意义下相同的前缀和,任意两个相减可以被 k 整除 这道题正解为 n^3 ,的复杂度,我们考虑将每一列压缩,这样,我们只需要通过枚举每个矩形区域的上下边界,就可以求得答案 注意:当余数为0的时候要多算一次答案 代码: #i…
T1 辣鸡(ljh) 就是一道分类讨论的暴搜,外加一丢丢的减枝,然而我挂了,为啥呢,分类讨论变量名打错,大于小于号打反,能对才怪,写了sort为了调试就注释了,后来忘了解开,小减枝也没打.但是这道题做了2个小时不止,T2T3完全挤得没时间.做这道题只感觉心累... #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #d…
首先计算块内贡献,很显然是$(x_2-x_1)*(y_2-y_1)*2$. 然后考虑矩形之间的贡献,sort一遍分类讨论$n^2$暴力即可. 注意考虑边界情况是否能多两个,以及角对角的情况. 另外,排序之后可以通过剪枝排除无用情况(j从i+1开始枚举以及那个break)来实现$n^2$过十万的梦想 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> using n…
题面:https://www.cnblogs.com/Juve/articles/11615883.html X 国的军队: 好像有O(T*N)的直接贪心做法 其实多带一个log的二分也可以过 先对所有据点按b-a由大到小排序(按此方案排序后顺序扫是最优的) 然后二分答案 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define int long lon…