[CEOI2010 day2] tower 题解】的更多相关文章

2013: [Ceoi2010]A huge tower Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 471  Solved: 321[Submit][Status][Discuss] Description 有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长.问有几种方法,输出 答案 mod 1000000009的值 Input 第一行: N,D 第二行: N个数,表示每块砖的长度…
「JLOI2015」骗我呢 题意 问有多少个 \(n \times m\) 的矩阵 \(\{x_{i, j}\}\) 满足 对于 \(\forall i \in [1, n], j \in [1, m]\) 有 \(x_{i, j} \in[0, m]\) : 对于 \(\forall i \in [1, n], j \in [1, m)\) 有 \(x_{i, j} < x_{i, j + 1}\) : 对于 \(\forall i \in (1, n], j \in [1, m)\) 有 \…
「SCOI2016」妖怪 题意 有 \(n\) 只妖怪,每只妖怪有攻击力 \(\text{atk}\) 和防御力 \(\text{dnf}\) ,在环境 \((a, b)\) 下,它可以把攻击力和防御力以 \(a : b\) 的代价呼唤,它的最强战斗力为互换后的攻击力与防御力的最大值. 现要给他们一种环境,使得它们的最强战斗力最小.答案保留四位小数. \(1 \le n \le 10^6, 0 < \text{atk}, \text{dnf} \le 10^6\) 题解 首先,一个很显然的性质,…
「SCOI2015」小凸玩密室 题意 小凸和小方相约玩密室逃脱,这个密室是一棵有 $ n $ 个节点的完全二叉树,每个节点有一个灯泡.点亮所有灯泡即可逃出密室.每个灯泡有个权值 $ A_i $,每条边也有个权值 $ B_i $ . 点亮第 $ 1 $ 个灯泡不需要花费,之后每点亮一个新的灯泡 $ V $ 的花费,等于上一个被点亮的灯泡 $ U $ 到这个点 $ V $ 的距离 $ D(u, v) $,乘以这个点的权值 $ A_v $. 在点灯的过程中,要保证任意时刻所有被点亮的灯泡必须连通,在点…
第一题: 第一问可以用划分树或主席树在O(nlog2n)内做出来. 第二问可以用树状数组套主席树在O(nlog2n)内做出来. 我的代码太挫了,空间刚刚卡过...(在bzoj上) 第二题: 分治,将询问分成两部分,每部分递归处理,每部分都把与询问无关的缩点. 还有个做法...here 第三题: 后缀数组+单调栈.后缀数组我写的是nlogn的,如果写的是O(n)的话,时间复杂度就是O(n)的了.(但是mato说求sa就会超时,弱菜不会后缀自动机,表示正在学习中(・_・;))…
这道题有多种解法,我用的是扩展欧几里得算法求到的答案 #include<iostream> #include<fstream> #include<cstdio> using namespace std; typedef long long ll; ifstream fin("mod.in"); FILE *fout = fopen("mod.out","w"); void gcd(ll a,ll b,ll&am…
积木大赛: 之前没有仔细地想,然后就直接暴力一点(骗点分),去扫每一高度,连到一起的个数,于是2组超时 先把暴力程序贴上来(可以当对拍机) #include<iostream> #include<cstdio> using namespace std; FILE *fin = fopen("block.in","r"); FILE *fout= fopen("block.out","w"); int *…
我最近是不是数据结构学傻了啊... 这道题看是1e5,所以复杂度为\(O(nlogn)\)的是完全可以跑过去的,然后看题,要求的对于每个数满足要求的区间的长度之和,我们自然而然的就可以想到用FHQ-Treap来维护这个序列了. - ps:不会FHQ的小伙伴们可以学习一下,这也是一个比较好用的数据结构(特别是打暴力). 然后事情就很好办了.先建一个一颗平衡树,然后每次查询的时候直接用我们可奈的split操作分出满足条件的区间,然后直接统计答案即可. 但是有一个小小的问题,我们每次分出来的序列没有包…
获奖名单 题目传送门 Solution 不难看出,若我们单个 \(x\) 连 \((0,x),(x,0)\),两个连 \((x,y),(y,x)\) ,除去中间过对称轴的一个两个组,就是找很多个欧拉回路. 直接来就好了. Code #include <bits/stdc++.h> using namespace std; #define Int register int #define MAXN 500005 template <typename T> inline void re…
A:看了题就很容易想到虚树吧,建出虚树后考虑整体扫一遍虚树,注意到这是一棵根向树,那么统计其实十分简单,将对 \(C\) 类节点的标记下放,\(A,B\) 类节点同时上传,如果在 DFS 的过程中发现这个节点可以被 \(A,B\) 类节点同时到达,则分讨取 \(u\) 还是取 \((u,fa)\) 即可,时间复杂度瓶颈在建立虚树,可以使用一些技巧做到线性吧. B:沙比提/oh C:不知道正解是啥,实际上可以直接暴力然后循环展开就碾过去了.隔壁队伍 vector 纯暴力都过了/oh D:很明显,我…