摘要: 「BZOJ2510」弱题 这题的dp式子应该挺好写的,我是不会告诉你我开始写错了的,设f[i][j]为操作前i次,取到j小球的期望个数(第一维这么大显然不可做),那么 f[i][j]=f[i-1][j](累加)+1*$\frac{f[i-1][j-1]}{M}$ - 1* $\frac{f[i-1] 阅读全文
posted @ 2019-07-18 18:42 Al_Ca 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 欧拉路,欧拉回路 阅读全文
posted @ 2019-07-18 14:11 Al_Ca 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 【Bzoj1875】HH去散步 先说一下边点互化的思路(貌似这种题不多?),以后看见边数少的要死的记得想边点乎化,将无向边变成有向边在考虑边之间的可达性,如果边x的终点是边y的起点(前提不是同一条边),则连一条x到y的边,表示从x可以走到y,同一条无向边转化成的两条有向边不联通(可以用最大流中异或1 阅读全文
posted @ 2019-07-18 06:33 Al_Ca 阅读(242) 评论(0) 推荐(1) 编辑
摘要: bzoj 4386: [POI2015]Wycieczki 这题什么素质,爆long long就算了,连int128都爆……最后还是用long double卡过的……而且可能是我本身自带大常数吧,T了好长时间…… 先说一下超级汇点的计数吧,先说结论: 1.将所有点(此题中只有一级点)向一个超级汇点0 阅读全文
posted @ 2019-07-18 06:19 Al_Ca 阅读(234) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-07-17 21:38 Al_Ca 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 【HAOI2015】树上染色 这题思路好神仙啊,首先显然是树形dp,f[i][j]表示在以i为根的子树中选j个黑点对答案的贡献(并不是当前子树最大值),dp时只考虑i与儿子连边的贡献。此时(i,son[i])产生的收益是(设子树大小为size[i])子树上的黑点个数(j)与子树外的黑点个数(m - 阅读全文
posted @ 2019-07-17 07:04 Al_Ca 阅读(116) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-07-17 06:38 Al_Ca 阅读(3) 评论(0) 推荐(0) 编辑
摘要: C. 奇袭 C. 奇袭 C. 奇袭 题目描述 由于各种原因,桐人现在被困在Under World(以下简称UW)中,而UW马上 要迎来最终的压力测试——魔界入侵。 唯一一个神一般存在的Administrator被消灭了,靠原本的整合骑士的力量 是远远不够的。所以爱丽丝动员了UW全体人民,与整合骑士一 阅读全文
posted @ 2019-07-17 06:29 Al_Ca 阅读(186) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2019-07-16 21:46 Al_Ca 阅读(3) 评论(0) 推荐(0) 编辑
摘要: B. 通讯 B. 通讯 B. 通讯 题目描述 “这一切都是命运石之门的选择。” 试图研制时间机器的机关SERN截获了中二科学家伦太郎发往过去的一条短 信,并由此得知了伦太郎制作出了电话微波炉(仮)。 为了掌握时间机器的技术,SERN总部必须尽快将这个消息通过地下秘密通讯 网络,传达到所有分部。 SE 阅读全文
posted @ 2019-07-16 21:26 Al_Ca 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 其实是比较简单的一道期望状压dp,考试时一直在想数组表示概率,然而最后出的数总是小于一,于是无奈的把第一个点判掉放弃了其他点。 设f[i]为状态为i时到全部买到的期望次数,$f[i]=∑f[j]*p[k]+(1-∑p[k])+1$,f[(1<<n)-1]=0,倒着推,k为j中的元素,$i|(1<<( 阅读全文
posted @ 2019-07-16 20:37 Al_Ca 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 网上搜不着,八成又是哪个学长留下的…… 因为考试第二题我们都好不容易才搞懂,学长有给我们扔了几道类似的题。 其实这道题思路挺好想的,就是一些细节还有复杂度比较难弄,好难调啊。 看到题的第一眼以为是树形背包,然后看到b的范围就放弃了。那咋办呢?首先第一维肯定是在树上某个节点,第二维呢?抓住小的干,f[ 阅读全文
posted @ 2019-07-16 06:19 Al_Ca 阅读(443) 评论(0) 推荐(2) 编辑
摘要: 刚调完了一个非常恶心的题(可能是我写的太恶心了),心累……先写会博客吧。 今天上午该完了考试的三道题,感觉第二道真的是个好题(学长说是经常会遇到的一类题……完了完了),看了一个小时std才看懂,写了篇博客。 下午好颓啊,先是学长讲课,讲tarjan的正确性及一些细节证明(正确性不是显然的吗???), 阅读全文
posted @ 2019-07-15 21:45 Al_Ca 阅读(129) 评论(0) 推荐(0) 编辑
摘要: B. 概率充电器 B. 概率充电器 B. 概率充电器 题目描述 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品——概率充电器:“采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定!SHOI 概率充电器,您生活不可或缺的必需品!能充上电吗?现在就试试看吧!”SHOI 阅读全文
posted @ 2019-07-15 12:01 Al_Ca 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 这题真的神仙,蒟弱表示看题解看不懂……std看了几个小时大概看懂,还有一些细节的东西没有思考。 最难受的是题解和std好像并不是同一个人写的……数组状态不一样……看了好久才看出来f也是前缀和。 F[i][j]表示在点 i 为根的子树中,向下最长轻链长度小于等于 j 的概率。 首先递归下去并求出子树大 阅读全文
posted @ 2019-07-15 11:57 Al_Ca 阅读(275) 评论(1) 推荐(7) 编辑
摘要: 以为要考图论呢,结果考了一堆不知道是啥的东西,尤其是第一题(考得是暴力枚举?质因数分解??高考数学必修5???),考试时一直以为正解是个数据结构,后来发现个数单调可以二分,然而排序时间复杂度好高啊……不管了先打个暴力,复杂度$1000*n^2*log^2n$,%了几个点都过了(最后因为复杂度过高使本 阅读全文
posted @ 2019-07-15 08:39 Al_Ca 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 先放作者的正解: 先说g吧,有i个点的话,在其中i-1个点中有$C_{i-1}^{2}$种边,每个边有选和不选两种情况。如果度不是偶数呢?用剩下那个点给他连上呗。如果剩下那个点度数不是偶数呢?这是不可能的,因为其中i-1个点,每条边会使图的总度数+2,所以图的总度数是偶数,不可能出现奇数个度为奇数的 阅读全文
posted @ 2019-07-15 08:35 Al_Ca 阅读(234) 评论(3) 推荐(3) 编辑
摘要: 用于模数很大直接乘会爆longlong的情况。 好处是只要a,b在long long内,无论它们乘起来多大,都可以做。 劣势是时间复杂度是log(b)的,比起正常乘法来太慢了。 其实有O(1)的方法, 只适用于a*b没有超过long long太多的情况(即a,b并不算大,大概均在10^12左右) 设 阅读全文
posted @ 2019-07-15 07:41 Al_Ca 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 用于指数爆longlong的情况,当然你也可以打高精…… 因为昨天有人提到了慢速乘,感觉挺有用的,就顺便都学了吧,而且省选也用到十进制快速幂了。 阅读全文
posted @ 2019-07-15 07:23 Al_Ca 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 什么沙雕题啊……考察的是啥啊,分类咋搞啊……愁死我了…… 先把作者的正解放出来: 序列因为选出的一段是一个等比序列的子序列,我们分为两种情况:1. q=1,相当于找一个最长每个数都相等的子串,这个扫一遍就行了。2. q!=1,那么这个序列最长只有 logn,那么我们可以枚举开头,不妨设开始的两个数为 阅读全文
posted @ 2019-07-15 06:42 Al_Ca 阅读(173) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-07-15 06:26 Al_Ca 阅读(5) 评论(0) 推荐(0) 编辑
摘要: [LOJ#2255][BZOJ5017][Snoi2017]炸弹 看到这题首先想到了线段树优化建边, 我们将可以炸到的炸弹之间连上单向边,然后缩点,拓扑一下什么的就可以求出来每个问题的解了。 虽然不是正解,但貌似可做。 我们可以想一想这道题是否存在一些有趣的性质,可以让我们优化建边。 假设点a在点b 阅读全文
posted @ 2019-07-15 06:25 Al_Ca 阅读(120) 评论(0) 推荐(0) 编辑
摘要: bzoj3590: [Snoi2013]Quare 根据题意,图中显然不能有桥,所以可以先用tarjan找桥判“imposibal”。 数据这么小,状压吧,我们可以把这个过程看成这样:我们已经有了一个强连通分量,那么我们要把一个点加入进这个强连通分量,可以找到一条包含这个点的链,且让链的两端都在这个 阅读全文
posted @ 2019-07-15 06:11 Al_Ca 阅读(166) 评论(0) 推荐(0) 编辑
摘要: POJ2942 Knights of the Round Table 开始看错题了,“某些骑士无法出席所有会议”并不是无法出席某个会议, 我们尝试建图,按照题目给的条件,我们可以将相互仇恨的骑士之间建边。那么骑士可以坐在一起的条件就是他们之间没有边。所以我们建出这个图的补图会使解题更加方便。 然后我 阅读全文
posted @ 2019-07-15 05:59 Al_Ca 阅读(128) 评论(0) 推荐(0) 编辑
摘要: [Sdoi2013]随机数生成器 难得一个完全自己推出来的数论题,结果还因为特判挂了好几个星期,今天才把特判打出来A掉。 开始以为要求ax+bx≡c(mod p)这种形式的方程,然而并不会解,nc哥告诉我不是,我才想起来求通项公式(推了一节数学课推出来了)(mikufun推了一节物理课), $X_{ 阅读全文
posted @ 2019-07-14 11:01 Al_Ca 阅读(130) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #define MAXN 2500010 using namespace std; struct edge { int u,v,w,nxt; #define u(x) ed[x].u #define v(x) ed[x].v #define w(x) ed[x].w #define n(x) ed[x].nxt }... 阅读全文
posted @ 2019-07-14 06:20 Al_Ca 阅读(197) 评论(0) 推荐(1) 编辑
摘要: HDU3844 Mining Your Own Business 问题描述John Digger是一个大型illudium phosdex矿的所有者。该矿山由一系列隧道组成,这些隧道在各个大型交叉口相遇。与一些业主不同,Digger实际上关心他的工人的福利,并担心矿山的布局。具体来说,他担心可能会出 阅读全文
posted @ 2019-07-14 06:16 Al_Ca 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 「BZOJ3694」「FJ2014集训」最短路 首先树剖没得说了,这里说一下并查集的做法, 对于一条非树边,它会影响的点就只有u(i),v(i)到lca,对于lca-v的路径上所有点x,都可通过1-t-u-v-x,长度为dep[u]+dep[v]+w(i)-dep[x],lca-u同理, 将非树边按 阅读全文
posted @ 2019-07-14 06:05 Al_Ca 阅读(97) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-07-13 20:51 Al_Ca 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 3331: [BeiJing2013]压力 LCA+树上差分,和之前类似的题差不多,就是多了个v-dcc缩点,唯一要注意的就是判断是否是割点,对于不是割点的点,如果他是起点或重点,ans++,和差分没有关系,对于割点,则需要用到差分,注意割点与非割点的答案要分开存储,否则会死的。 另外要注意的是数组 阅读全文
posted @ 2019-07-13 20:50 Al_Ca 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 2208: [Jsoi2010]连通数 对于原图建反图,考虑到有环,tarjan缩点,就得到一张有向无环图,用bitset记录能到某scc的点(原图点),跑拓扑将bitset或(|)下去就可以了,最后答案为∑(bitset中1的个数*scc的大小)。开始考虑错了: 1 for(int i=1;i<= 阅读全文
posted @ 2019-07-13 20:42 Al_Ca 阅读(103) 评论(0) 推荐(0) 编辑
摘要: [POI2008]BLO 一开始没看懂样例,连去掉的点都算…… 显然如果i不是割点,那么ans[i]=(n-1)*2, 如果i是割点,ans[i]=将i去掉后生成的联通块大小两两相乘的和加上i本身,但这样并不好算,换一种思路,在求割点时记录搜索树中以x为根的子树大小, (式子太长不想打了……) 阅读全文
posted @ 2019-07-13 20:34 Al_Ca 阅读(148) 评论(0) 推荐(0) 编辑
摘要: int dfn[MAXN],low[MAXN],num,root; int stack[MAXN],top,cnt; bool iscut[MAXN]; int new_id[MAXN],c[MAXN]; vector dcc[MAXN]; void tarjan(int x) { dfn[x]=low[x]=++num; stack[++top]=x; if(x==ro... 阅读全文
posted @ 2019-07-13 19:51 Al_Ca 阅读(250) 评论(0) 推荐(0) 编辑
摘要: int dfn[MAXN],low[MAXN],cnt; bool isbridge[MAXN]; void tarjan(int x,int edg) { low[x]=dfn[x]=++cnt; for(int i=f(x);i;i=n(i)) if(!dfn[v(i)]) { tarjan(v(i),i); low[x]=mi... 阅读全文
posted @ 2019-07-13 16:39 Al_Ca 阅读(276) 评论(0) 推荐(0) 编辑
摘要: int dfn[MAXN],low[MAXN],cnt; void tarjan(int x,int edg) { low[x]=dfn[x]=++cnt; for(int i=f(x);i;i=n(i)) if(!dfn[v(i)]) { tarjan(v(i),i); low[x]=min(low[x],low[v(i)]); ... 阅读全文
posted @ 2019-07-13 16:18 Al_Ca 阅读(196) 评论(0) 推荐(0) 编辑
摘要: int dfn[MAXN],low[MAXN],cnt,root; bool iscut[MAXN]; void tarjan(int x) { dfn[x]=low[x]=++cnt; int flag=0; for(int i=f(x);i;i=n(i)) if(!dfn[v(i)]) { ta 阅读全文
posted @ 2019-07-13 15:56 Al_Ca 阅读(142) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-07-13 06:27 Al_Ca 阅读(6) 评论(0) 推荐(0) 编辑
摘要: NOIP2016天天爱跑步 这题一看显然lca+树上差分,但是因为有w的限制不能直接加,所以考虑权值线段树合并, 每个选手的起点终点对于不同的节点的影响是不同的,这就非常麻烦了,但是可以发现无论如何他的深度是固定的,而对于一个节点i,能使他+1有如下两种情况: 1.dep[x]=dep[i]-w[i 阅读全文
posted @ 2019-07-13 06:25 Al_Ca 阅读(142) 评论(0) 推荐(0) 编辑
摘要: bzoj1003 物流运输 设cost[i][j]为第i天到第j天,不经过这些天关闭的所有港口(指在这一段时间不是每天都能过)的最短路, 设f[i]为前i天最短路,则f[i]=min(f[i] , f[j]+cost[j+1][i]*(i-j)+k) 因为对第一天多加了一个k,最后减去即可。 #in 阅读全文
posted @ 2019-07-13 06:12 Al_Ca 阅读(118) 评论(0) 推荐(1) 编辑
摘要: 「BZOJ2654」tree 最小生成树+二分答案。 最开始并没有觉得可以二分答案,因为答案并不单调啊。 其实根据题意,白边的数目肯定大于need条,而最小生成树的白边数并不等于need(废话),可以二分将每条白边的权值+mid,这样就可以控制最小生成树中白边的条数, 对于一个mid,将所有的白边权 阅读全文
posted @ 2019-07-12 21:40 Al_Ca 阅读(116) 评论(0) 推荐(0) 编辑
ヾ(≧O≦)〃嗷~