AFO

AFOAFOAFO

2018-11-26 11:22:01

阅读数 89

评论数 0

【BZOJ1706】relays 奶牛接力跑

题目:BZOJ1706 解析:   矩阵快速幂。   首先将起点终点离散化降至100100100以内。   考虑最裸的状态转移,令f[k][i][j]f[k][i][j]f[k][i][j]表示经过kkk条边从iii到jjj的最短路长度,就有:f[k][i][j]=min{f[k−1][i...

2018-11-09 09:57:46

阅读数 68

评论数 0

【BZOJ1965/Ahoi2005】SHUFFLE 洗牌

题目:BZOJ1965 解析:   法一:找规律   手玩样例可以发现原位置为ppp的数经过mmm次洗牌后位置变为:p∗2mmod(n−1)p*2^mmod(n-1)p∗2mmod(n−1)   法二:稍微严谨的数学证明   如果当前位置为ppp变化一次后到哪个位置,存在两种情况:  ...

2018-11-08 17:04:58

阅读数 43

评论数 0

【BZOJ2751/HAOI2012】容易题(easy)

题目:BZOJ2751 解析:   当k=0k=0k=0时根据乘法分配律,答案为:∏i=1nn∗(n+1)2\prod _{i=1}^{n}\frac{n*(n+1)}{2} i=1∏n​2n∗(n+1)​   有了限制后,答案变为∏i=1n−kn∗(n+1)2∗(∏i=1kn∗(n+1)2...

2018-11-08 07:54:06

阅读数 53

评论数 0

【BZOJ2212/Poi2011】Tree Rotations

题目:BZOJ2212 解析:   线段树合并。   这里的遍历指的是中序遍历。考虑对于一个节点对答案的贡献为左右儿子单独的贡献加上左儿子对右儿子的贡献或交换后左儿子对右儿子的贡献,用线段树合并,从叶子节点合并到根即可。 代码: #include <bits...

2018-11-07 19:58:38

阅读数 48

评论数 0

【BZOJ1123/POI2008】BLO

题目:BZOJ1123 解析:   割点。   对于一个点ppp,分两种情况:   1.ppp不是割点,那么把与它关联的边去掉之后,整个图就分为ppp与其余所有点。   1.ppp是割点,那么把与它关联的边去掉之后,整个图会分为若干个连通块。我们应该求出这些连通块的大小,再两两相乘再相加,为了方便...

2018-11-06 21:51:29

阅读数 28

评论数 0

【BZOJ3613/Heoi2014】南园满地堆轻絮

题目:BZOJ3613 解析:   找规律?结论题?   被大佬点拨后就变成傻逼题了。。。   容易发现 改动最大的为逆序对中差值最大的一般,然后就没有然后了。。。 代码: #include <bits/stdc++.h&a...

2018-11-05 20:38:06

阅读数 30

评论数 0

【NOIP模拟】T1+T2+T3

T1 解析:   差分约束/并查集/BFS均可。   这道题的弱化版可参见BZOJ1202 代码(差分约束): #include <bits/stdc++.h> using namespace std; ...

2018-11-05 19:51:37

阅读数 43

评论数 0

【BZOJ1202/HNOI2005】狡猾的商人

题目:BZOJ1202 解析:   并查集/差分约束。   差分约束是很明显的,对于每次记录之间分别建立(s−1,t,v),(t,s,−v)(s-1,t,v),(t,s,-v)(s−1,t,v),(t,s,−v)的有向边,然后SPFA判负环就行了。   为什么可以用并查集呢,是因为存在关系...

2018-11-04 17:58:14

阅读数 93

评论数 0

【BZOJ3436】小K的农场

题目:BZOJ3436 解析:   差分约束系统。   分析一下三种情况:   1.农场aaa比农场bbb至少多种植了ccc个单位的作物   即a≥b+c−>b≤a−ca\geq b+c->b\leq a-ca≥...

2018-11-04 15:36:36

阅读数 72

评论数 0

【BZOJ2748/HAOI2012】音量调节

题目:BZOJ2748 解析:   背包DP。   省选题?嗯?怕不是背包入门题吧。。。 代码: #include <bits/stdc++.h> using namespace std; int n,m,s,ans=-1; int f[55][100...

2018-11-04 13:28:50

阅读数 48

评论数 0

【BZOJ2287】消失之物

题目:BZOJ2287 解析:   背包DP。   算是背包问题中的一个经典问题吧。参见「BZOJ2287」消失之物 代码: #include <bits/stdc++.h> using namespace std; c...

2018-11-04 12:36:12

阅读数 66

评论数 0

【NOI2002/LOJ10215】荒岛野人

题目:LOJ10215 解析:   扩展欧几里得。   题目就是要求解:c[i]+k∗p[i]≡c[j]+k∗p[j](modM)c[i]+k*p[i]\equiv c[j]+k*p[j](modM)c[i]+k∗p[i]≡c[j]+k∗p[j](modM)   转化一下:a∗(p[i]−...

2018-11-04 11:33:15

阅读数 87

评论数 0

【BZOJ2152/国家集训队】聪聪可可

题目:BZOJ2152 解析:   点分治/树形DP。   很明显的点分治,主要说下统计答案的问题。   假设两点的距离记为两点到当前重心的深度之和,那么对于经过重心的合法点对可以表示为:   sum[0]∗(sum[0]−1)+sum[0]+sum[1]∗sum[2]∗2sum[0]*...

2018-11-03 22:22:58

阅读数 34

评论数 0

【点分治入门/POJ1741】Tree

题目:Tree 解析:   上一次做点分治已经是半年前了。。。   所以点分治其实就是一种树上分治,序列上的分治是取中点,而点分治是取重心,就这么点区别。至于为什么取重心,这样能保证复杂度在O(logN)O(logN)O(logN)级别。   对于这道题的具体做法,先找出重心,计算经过重心...

2018-11-03 20:45:21

阅读数 32

评论数 0

【NOIP模拟】graph

T2 解析:   分两种情况: (1)a-b,c-d 的路径不相交,则答案一定是 a-b,c-d 的最短路之和。 (2)a-b,c-d 的路径相交,则相交部分一定是连续的一段路径,于是O(N2)O(N^2)O(N2)预处理每对点的最短路,O(N2)O(N^2)O(N2)枚举相交的路径的两端...

2018-11-03 15:47:09

阅读数 40

评论数 0

【NOIP模拟】地球发动机

T1 解析:   DP+二分即可。 代码: #include <bits/stdc++.h> #define int long long using namespace std; const int M...

2018-11-03 15:41:02

阅读数 50

评论数 0

【NOIP2015提高组】斗地主

题目背景 NOIP2015 提高组 Day1 T3 题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏。斗地主是一种使用黑桃、红心、梅花、方片的A到K加上大小王的共54张牌来进行的扑克牌游戏。在斗地主中,牌的大小关系根据牌的数码表示如下:3<4<5&...

2018-11-02 20:13:26

阅读数 67

评论数 0

【NOIP模拟】T1+T2+T3

T1 解析:   单调栈。   分析题意,我们首先发现一个合法区间的因数一定是这个区间中最小的。其次发现本质是求以每个数作为最小质因子,最大的区间,最后答案就是这些区间长度的最大值。   用单调栈计算每个点的左右端点,具体来说如果当前这个数模栈顶的元素不为000,即不是栈顶的元素不是这个数...

2018-11-02 16:55:51

阅读数 20

评论数 0

【NOIP20007提高组】树网的核

题目背景 NOIP2007提高组试题4。 题目描述 设 T=(V,E,W) 是一个无圈且连通的无向图(也称无根树),每条边带有正整数的权,我们称 T 为树网(treenetwork),其中 V,E 分别表示结点与边的集合,W 表示各边长度的集合,并设 T 有 n 个结点。 路径:树网中任何...

2018-11-01 21:02:11

阅读数 104

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭