qwb的博客

ACing

排序:
默认
按更新时间
按访问量

积性函数 hdu5528 Count a * b

积性函数太有趣了! 做这个题之前,我们需要掌握一些基本知识。 1.若f(x)为积性函数,那么满足f(xy)=f(x)f(y) 2.若f(x)为积性函数,g(x)=∑d|xf(d)g(x)=\sum_{d|x}f(d),那么g(x)也为积性函数 3.学会如何线性处理积性函数。 ...

2017-11-07 21:01:11

阅读数:169

评论数:0

线性基 Codeforces724G Xor-matic Number of the Graph

传送门:点击打开链接 题意:1e5个点的无向图,求三元环(u,v,s),u 思路:可能有很多个连通块,对每个连通块考虑。 首先,我们考虑,如果这个连通块只是一棵树的话。我们对每一位去考虑,直接通过计数就能得到答案。 但是现在图上还有很多环,我们可以发现,环的答案可以直接异或到链上去,我只要...

2016-10-27 13:11:45

阅读数:967

评论数:0

线性基 bzoj2115 [Wc2011] Xor

传送门:点击打开链接 先来谈谈我对线性基的认识把,这似乎线代里叫做最大无关组。 高中的时候老师讲二维向量的时候,我们就知道,如果我们有三个互不平行的向量i,j,k,那么我们在这3个向量前面乘以系数,就可以表示出任意向量。 acm里的线性基通常都是在位异或下讨论的。 比如我现在有n个数,求取任意个数...

2016-10-26 23:25:20

阅读数:758

评论数:0

欧拉回路 Codeforces723E One-Way Reform

传送门:点击打开链接 题意:给你无向图,现在给无向图定向,使得最多的点,入度等于出度。 思路:首先,对于无向图,奇数度的点,肯定是不能使得入度等于出度的。 对于一个有向图欧拉回路,我们可以知道,欧拉回路上所有的点的入度等于出度。 然后,我们还能知道一个性质,对于一个图,度为奇数的个数,一定...

2016-10-05 12:32:03

阅读数:412

评论数:0

fft+分治 ifrog1044 Quailty and Binary Operation

传送门:点击打开链接 题意:给出A数组和B数组,对于每一个A[i],B[j],如果A[i]>=B[j],则变成A[i]-B[j],否则A[i]+B[j] 思路:很显然可以看出fft。但是刚开始却很难想到怎么去把两种情况给分开。 这里有个非常神奇的思路,那就是分治,把区间分成2个部分。A[l,...

2016-09-29 21:13:45

阅读数:360

评论数:0

偏序 Gym101081J Optimized RPG

传送门:点击打开链接 偏序3合1的题。 这道题的意义在于: 原来如果只维护前缀的最大值的时候,是可以直接用树状数组来维护的,这个还真是第一次知道 以前好像根本没有彻底的去理解cdq分治,现在大概有了一点感觉了~ #include #include #include #inclu...

2016-09-29 21:05:46

阅读数:335

评论数:0

线段树+矩阵快速幂 codeforces718C Sasha and Array

传送门:点击打开链接 题意:操作1,区间[l,r]的数字+x 操作2,求sigma f(i),l 答案取模1e9+7 首先斐波那契数列用矩阵快速幂求,谁都会的。 这里有一个矩阵乘法的性质,A*B+A*C=A*(B+C) 有了这个性质,这题就非常傻逼了。 在求斐波那契数列中,是A*F,...

2016-09-24 09:55:04

阅读数:800

评论数:0

fwt_xor Codeforces663E Binary Table

传送门:点击打开链接 题意:操作任意的行和列,把01调换,使得最后的1的个数最少。 因为n 用F函数来记录所有的mask出现的次数。用G函数来记录某个状态翻转这一列或者不翻转这一列,最少的1的个数。 之后对F函数和G函数,求异或卷积,就得到了行的方案了,每个位置即是这种方案1的个数。 这...

2016-09-20 13:40:05

阅读数:839

评论数:1

自动机+高斯消元 ifrog1025 Magic boy Bi Luo with his excited string problem

传送门:点击打开链接 题意:告诉你n个串,现在随机写字符,直到之前的字典里某个差un是当前写的串的子串时停止,问期望次数是多少. 思路:玲珑套路杯,求个自动机发现next数组就是接下来的状态,套个高斯消元就做完了.. #include #include #include #includ...

2016-09-06 18:43:28

阅读数:469

评论数:0

最短路+定积分 csu1806 Toll

传送门:点击打开链接 题意:一个有向图,但是只有10个点。然后每条路的费用会随着时间变化,费用等于ci*t+di。可以认为车在路上行驶不花费时间,所以时间只与出发时间有关。 现在问从1到n去,在[0,T]这一段时间内出发,平均费用是多少。 思路:首先我们得能看出这个积分表达式才行,萌萌哒的叉...

2016-09-05 10:59:01

阅读数:454

评论数:1

线段树合并 csu1811 Tree Intersection

传送门:点击打开链接 题意:对于每条边,把这条边删了,树分成了两个集合,求这两个集合中共同的颜色数量。 对于节点u,就看u节点的子树中,有多少种颜色没有到达这种颜色的上限,就是对u所对应的边的答案 方法一:我们用线段树合并来维护,代码写起来比较麻烦。 之所以可以用线段树合并,是因为有一个结论:...

2016-09-05 00:24:56

阅读数:741

评论数:0

最短路 csu1808 地铁

传送门: 题意:告诉你很多条地铁线路,问最短路。 思路:首先我们考虑到d[pre][u]表示,从pre到达u时的最短路。 这种做法正确性是显然的,问题是肯定会炸。但是看到u的pre不可能是所有节点。 这也暗示了拆点,如果一个点按照被连的边,拆成几个点,然后再跑最短路。 由于最多只有m条边,所以拆点...

2016-09-05 00:17:40

阅读数:662

评论数:0

字典树合并 ifrog1028 Bob and Alice are playing numbers

传送门:点击打开链接 题意:有3种运算符,选择两个数使用这种运算符,使得最后的答案最大。 思路:xor的我们已经很熟练了,我们来讨论&和| &的话,如果1的个数>=2,那么我们就走1,否则,就把字典树的01合并,因为此时01的答案是一样的。 |的话,我们需要先做一个预处理。把...

2016-09-05 00:04:57

阅读数:459

评论数:0

斜率优化应选择凸包哪部分

如果最后的表达式中,得到k>sk>s,k表示斜率,s为某个数 那么我们就维护上凸包。 从左往右的上凸包struct Point { LL x, y; Point() {} Point(LL _x, LL _y) { x = _x; y = _...

2016-08-18 08:36:39

阅读数:497

评论数:0

2013年福建省程序设计竞赛省赛题解

Problem 2140 Forever 0.5传送门 思路:构造。首先小于4无解。 大于4的情况,前4个点作为ABCD,之后的点全部放在ADˆ\widehat{AD}上就行了 复杂度:O(n)O(n) #include <cstdio> #include <iostre...

2016-08-17 01:47:17

阅读数:679

评论数:0

树型dp hdu5834 Magic boy Bi Luo with his excited tree

传送门:点击打开连接 题意:一棵树,对于每个点出发,结束位置可以是任意的,走过的点权值只加一次,走过的边权值要减去走过的次数乘以边权值。 问对于每一个点,权值和最大是多少。 思路: 我们需要维护4个内容 A[u]表示从u往下走,并回到u,路上的最大权值之和 B[u]表示从u往下走,不需...

2016-08-15 01:17:26

阅读数:615

评论数:0

最小割 csu1355 地雷清除计划

传送门:点击打开链接 题意:一个地图有很多个地雷,如果走到距离这个地雷的曼哈顿距离 现在要从左上角走到右下角,问最少需要拆除多少颗地雷。 刚开始一直在考虑从左上到右下去。。其实我们可以换一个角度去思考问题。 刚开始的时候,左下边界和右上边界肯定是用雷连通的。后来拆了一些雷之后,就变得不连通...

2016-08-01 11:21:34

阅读数:221

评论数:0

枚举+求桥 Codeforces701F Break Up

传送门:点击打开链接 题意:最多删掉2条边,使得无向图中s到t不连通。点数 思路:我们先求一条s到t的任意路径。 我们很容易就能证明,如果存在这样的2条边,或者说只需要删一条边就能让他们两个不连通,那么必然是在s到t的一条路径上。 所以,我们首先求出任意一条s到t的路径。 然后枚举这条路径上的边,...

2016-07-23 19:51:56

阅读数:452

评论数:0

KM hdu2255 奔小康赚大钱

传送门:点击打开链接 题意:最裸的带权二分图匹配。 思路:KM算法,复杂度为O(n^3),比费用流的效率要快一些,所以有时候必须用KM算法。 但是KM算法的适用范围比较小,要学会去分辨. #include #include #include #include #include #...

2016-06-03 15:35:47

阅读数:350

评论数:0

凸包+三分 Codeforces631E roduct Sum

传送门:这里写链接内容 题意:允许交换两个位置位置的数字,最终使得∑nii∗A[i]\sum_i^ni*A[i] 最大,求最大值 思路:我们列出式子,很明显的可以发现可以用斜率优化来做。 但是我们发现A数组并不是不递减的,所以我们不能用单调队列来维护。 对于这题,我们应该去维护下凸包,然后...

2016-06-03 15:09:33

阅读数:368

评论数:0

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