noip模拟46】的更多相关文章

给了签到题,但除了签到题其他的什么也不会.... T1 数数 人均$AC$,没什么好说的,就是排个序,然后双指针交换着往中间移 1 #include<bits/stdc++.h> 2 #define int long long 3 using namespace std; 4 const int NN=3e5+5; 5 int n,a[NN],ans[NN],id[NN],cha[NN]; 6 inline bool cmp(int a,int b){return a>b;} 7 inl…
神仙题. 首先不考虑把黑点变白,发现每个白点的信息与它的归属点是相同的.可以在线段树中只维护黑点的信息,再记录$DFS$序上每个点之前黑点个数的前缀和,每次操作可以二分出该点的归属点进行操作. 具体维护黑点管辖点的个数与它的权值,及前两者乘积之和.一些其他的点数可以通过子树大小减管辖点总和得到.两个修改操作直接线段树上修改即可. 再考虑黑点变白的情况.每次把黑点变白后,它管辖点的归属点改变,但权值不变,可以在线段树中记录下当前点真实权值与它归属点权值的差,删点时做子树加,每次询问用归属点的权值加…
T1 数数 解题思路 大概是一个签到题的感觉...(但是 pyt 并没有签上) 第一题当然可以找规律,但是咱们还是老老实实搞正解吧... 先从小到大拍个序,这样可以保证 \(a_l<a_r\) 直接去掉绝对值. 然后就可以推出如下柿子: \[\displaystyle\sum_{l=1}^{k}-a_l\times(k-l)+\sum_{r=2}^{k}a_r\times a_r(r-1) \] \[\displaystyle\sum_{i=1}^{k}a_i\times (2\times i-…
A. 数数 排好序从两头贪心即可 B. 数树 首先很容易想到容斥 如果选择的边集的相关点集有点的度数大于 \(1\) 是不合法的 也就是说一定形成若干条长度不一的链 要给这些链上的点安排排列中的数,方案数其实就是 \((n-k)!\) 因为一条链开头的值确定了整条链的值就确定了 发现暴力算是 \(2^n\),考虑选择边集数量一定时贡献是否可以一起算 树形背包即可,算出以 \(1\) 为根的子树内选 \(k\) 条边的方案数 由于入度出度不超过 \(1\) 的限制,\(dp\) 加两维 \(0/1…
脑袋确实是不好使了需要回家暴颓治疗 数数数树鼠树 真好玩. 数数 大水题一个,妥妥的签到题目,然后... 我没签上 气展了!!! 其实我还是想麻烦了. 就是我们实际上就是排序之后每一次找头上和尾巴上的就行 #include<bits/stdc++.h> using std::cout; using std::endl; #define try(i,a,b) for(register signed i=a;i<=b;++i) #define throw(i,a,b) for(registe…
NOIP模拟17.9.22 前进![问题描述]数轴的原点上有一只青蛙.青蛙要跳到数轴上≥…
本题属于二和一问题 子问题相互对称 考虑对于问题一:知a求b 那么根据b数组定义式 显然能发现问题在于如何求dis(最短路) 有很多算法可供选择 dijsktra,floyed,bfs/dfs,spfa等 然而我们发现本题一个特点为边权相等(1) 显然应用dfs/bfs算法时间复杂度优于传统求最短路算法 考虑对于问题二:知b求a 同样,我们能很快明确高斯消元算法并且也需要计算dis数组 然而 观察数据范围 T<=5, 2<=n<=100000,1<=u,v<=n 显然这道题正…
有的考试表面上自称NOIP模拟,背地里却是绍兴一中NOI模拟 吓得我直接文件打错 T1 Skip 设状态$f_i$为最后一次选$i$在$i$时的最优解.有$f_i=max_{j<i}[f_j+a_i-\frac{(j-i)\times (j-i-1)}{2}]$ 设$j<k$,对$i$来说,$k$优于$j$,当且仅当$2\times i>\frac{2\times(f_j-f_k)+k^2+k-j^2-j}{k-j}$ 斜率优化,$CDQ$分治,先按$a$排序,分治中按$id$排序满足限…
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas classroom.cpp/c/pas 输入文件 robot.in spring.in iceroad.in classroom.in 输出文件 robot.out spring.out iceroad.out classroom.out 时间限制 1000MS 1000MS 1000MS 1000…
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath> #include <iostream> using namespace std; #define MAXN 100010 struct node { int a,b,c; }ans[MAXN]; int main() { int R, G; scanf("%d%d",&…