5.1 qbxt 一测 T1】的更多相关文章

禁咒检验 (3MB / 2s)[问题描述] 在古老的世界里,有一个神奇的职业叫做魔法师. 魔法师的特点是会魔法,施放魔法需要念咒语. 在古老的世界里,有一个神奇的职业叫做码农.码农的工作是帮助魔法师记录咒语. 码农用 0 和 1 来记录咒语, 所以一个咒语可以用一个仅由 0 和 1 构成的字符串 S 表示. 魔法师念咒语时就是把 S 从左到右读一遍.随着 0 和 1 的默念,魔法的能量从魔法师体内涌出. 如果魔法师连续念的 4 个字符中, ‘0’的数量不到 2 个,那么魔法师的体力会大量消耗.如…
思路: 用treap动态维护,记一个sum1,sum2,注意!,写treap如果有删除操作,千万不能把权值相同的分开来..,这在删除的时候会进入死循环,这是一个惨痛的教训... #include<cstdio> #include<cmath> #include<cstring> #include<iostream> #include<algorithm> #include<time.h> #define ll long long st…
#include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> ][],n,type,V[],g[][],ans,cnt; ]; int read(){ ,f=;char ch=getchar(); ;ch=getchar();} +ch-';ch=getchar();} return t*f; } int fun(int x,in…
思路:首先每个蚂蚁移速相同,而且碰到就转头,这其实等价于擦肩而过! 看到2n个数互不相同就觉得方便多了:枚举每个数字往左或者往右作为最慢,然后考虑其他蚂蚁有多少种走路方向. (1),走的距离大于m/2 假如红色描述的是一个蚂蚁的移动轨迹,那么蓝色部分左边的蚂蚁只能向左走,蓝色右边的蚂蚁只能向右走. 而蓝色部分中的蚂蚁可以向左也可以向右,方案数为2^n,n为蓝色部分蚂蚁数量. (2),走的距离小于m/2 如图,则蓝色部分左边的蚂蚁只能向左,蓝色部分右边的蚂蚁只能向右.而蓝色部分中间不能有蚂蚁!,这…
这么二逼的题考试的时候我想了好久,我真是太弱了... 首先,由于ans都乘上了i*(i-1)/2,实际上要求的就是每个数的所有可能出现次数*这个数的权值. 我们发现,每个数的本质是一样的,我们记一个sum为数的总和,这样只要统计一次就OK了. 我们把每次的选择抽象成有向边,每个状态视为点,这样就构成一个有根树. 如图 我们只考虑1对答案的贡献.如图,在每层计算当前合并对答案的贡献,也就是要能得知我在这个节点选择合并1或者1的联通块,那么我能覆盖到几个叶子节点? 那么就变成O(n)的组合数学题了.…
出题人居然是个哲学家.. 26%的程序,太SB了...本来我的想法也是二分+贪心,但是贪心是个怪怪的SX贪心.. #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> #include<iostream> #include<time.h> #define inf 0x7fffffff struct edge{ int u,v,id; }e[]; ]…
思路:首先考虑t=1的情况,t等于1,那么所有位置的颜色相同,我们不用考虑概率的问题,那么,k+d*x在模d下都相等,我们考虑预处理一个数组s[i][j],代表d为i,起始位置为j的等差数列的和,这个可以证明,当模小于等于sqrt(n)的时候可以完美解决,时间复杂度为N^1.5,对于d大于sqrt(n)的情况,只需要暴力枚举就可以了. 再考虑t>=2的情况,我们选的颜色一定是颜色数最少的那个,颜色数最少的颜色的期望绝对是最小的,然后,我们分k的左边和k的右边进行计算,我们这里称呼k+d*x的位置…
反物质[问题描述] 物理学家有一种假设,世界上存在反物质,反物质遇到正常的物质会发生湮灭. 假设现在有 n 个粒子,每个粒子的种类用一个 m 以内的正整数表示.现在要将这些粒子按一定顺序放入一个封闭空间.封闭空间最初什么都没有. 每当放进一个粒子时,若封闭空间为空或封闭空间中的粒子和放入的粒子种类相同,这个粒子将留在封闭空间中:若封闭空间中的粒子和放入的粒子种类不同,则封闭空间中会有一个粒子和放入的粒子抵消(即湮灭). 判断是否存在一种排序方案,使得最后封闭空间中有种类编号为“1”的粒子存在.若…
求和[问题描述] 组合数 C(n,m)是从 n 个物品中取 m 个的方案数. C(n,m)=(n!)/(m!(n-m)!) 斐波那契数列 F 满足,F[0]=F[1]=1,n≥2 时 F[n]=F[n-1]+F[n-2] 给出 n,求 C(n,0)F[0]+C(n,1)F[1]+…+C(n,n)F[n][输入格式] 一行一个数 T 表示数据组数 接下来 T 行每行一个数,表示 n[输出格式] 输出 T 行,每行一个数表示答案,对 10^9+7 取模[样例输入] 3 2 5 1000[样例输出]…
BZ OI 队测 T1: 题目大意: 喵星系有n个星球,标号为1到n,星球以及星球间的航线形成一棵树. 所有星球间的双向航线的长度都为1.小昕要在若干个星球建矿石仓库,设立每个仓库的费用为K.对于未设立矿石仓库的星球,设其到一个仓库的距离为i,则将矿石运回的费用为Di. 请你帮它决策最小化费用.n<=200 题解:开始的时候第一眼DP,可是不知道设状态,后来感觉是网络流,但是发现对于仓库哪里无法限流,于是在纠结很久的情况下 想到正解:Tree DP 设一个状态F(x,y)代表第x个点,在y处有个…