BZOJ NOI十连测 第二测 T2】的更多相关文章

思路:20%可以搜索.. #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> #include<iostream> #include<time.h> #define ll long long ; ll jc[],jcny[]; int n,m; int read(){ ,f=; ;ch=getchar();} +ch-';ch=getchar()…
思路:看到这题,就感觉是一道很熟悉的题目: http://www.cnblogs.com/qzqzgfy/p/5535821.html 只不过这题的K最多可以到N,而且边权不再只是1,考试的时候yy了一下做法: 找k次直径,第一次把边取反,要是第二次再取到同样的边,那就把它变成0,毕竟每条边只经过2次嘛,YY的很好,实际上,交上去,5分TAT 后来听以为神犇说不是取0,而是继续取反,每条边取一次就取反一次,woc.. PS还有一点:一开始我是准备找出里面一点,然后bfs找最远和次远的点,然后把路…
出题人居然是个哲学家.. 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的位置…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT1170 Raw NAND启动时间. 关于i.MXRT1170这颗划时代的MCU,痞子衡去年10月在其刚发布的时候,专门写过一篇文章介绍过其特点(详见 <终于可以放开聊一聊i.MXRT1170这颗划时代MCU了>),眼看着其上市日期越来越近了,恩智浦软硬件技术支持团队也正在紧锣密鼓地开发SDK以及参考设计.因为官方首次在i.MXRT1170 EVK板上(Rev.B)放了一片旺宏的Raw NAND芯片,而i.MX…
「NOI十联测」深邃 要使得最大的连通块最小,显然先二分答案. 先固定1结点为根. 对于一个果实,显然是先处理子树中未分配的点,再向外延伸. 每个结点记录一个\(si[]\),表示子树中未分配的点数,若为负数,则绝对值代表可以向外延伸的点数. 对于每一个结点\(i\): ​ 统计儿子中可以向外延伸的点数的最大值MIN,若该结点本身为果实,也算在内(因为\(i\)结点只能分到一个联通块,而每一个可以延伸的结点必定会占用\(i\)结点,故只有\(MIN\)是有用的). ​ 统计儿子中未分配的点数S.…
「NOI十联测」奥义商店 若lzz想花费最少的钱,那么显然要选择数目较少的颜色. 先考虑暴力的写法. 每次向两边统计,每个物品要求被买的概率可以由上一个物品推出. now=1;//now 被买概率 M 选择的颜色的数目 for(int q=1;st+d*q<=n&&q<=cnt[1];++q){ now*=(M-q+1.0)/(n-1-q+1);//当前点被涂上选择的颜色的概率 * 先前的物品也涂上选择的颜色 ans+=val[st+d*q]*now; } now=1; for…
「NOI十联测」黑暗 \(n\) 个点的无向图,每条边都可能存在,一个图的权值是连通块个数的 \(m\) 次方,求所有可能的图的权值和.(n≤30000,m≤15) 令\(ans[n][m]\)为n个点,图的权值是连通块个数的 m 次方,最终的答案. \(g[i]\)为\(i\)个点无向联通图数目. 一个图,若连通块数T增加1,那么贡献为\(\displaystyle (T+1)^m=\sum_{i=0}^m C_m^i T^i\). 这里选取\(i\)个点组成一个连通块(包含一个指定的点),联…
思路:考虑建立可持久化线段树,第一层维护的是i这个位置的next位置,第二层,维护的是接下来走这个字符会到哪个节点. 感觉很巧妙啊,不愧是Claris #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> #include<iostream> ],l[],r[],sz; ],root[]; int read(){ ,f=;char ch=getchar();…
思路:线段树套可持久化treap,可持久化treap我还是第一次听说.. 改题的时候没看数据范围..乱开数组T_T #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> #include<iostream> #include<time.h> #include<bits/stdc++.h> #include<ext/rope>…