自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qwb的博客

ACing

  • 博客(372)
  • 资源 (6)
  • 收藏
  • 关注

原创 积性函数 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.学会如何线性处理积性函数。 4.对于积性函数,目标就是学会如何求f(pq)f(p^q),p为质数回到这个题,我们先考虑求f函数

2017-11-07 21:01:11 753

原创 线性基 Codeforces724G Xor-matic Number of the Graph

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

2016-10-27 13:11:45 1589

原创 线性基 bzoj2115 [Wc2011] Xor

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

2016-10-26 23:25:20 1352

原创 欧拉回路 Codeforces723E One-Way Reform

传送门:点击打开链接题意:给你无向图,现在给无向图定向,使得最多的点,入度等于出度。思路:首先,对于无向图,奇数度的点,肯定是不能使得入度等于出度的。对于一个有向图欧拉回路,我们可以知道,欧拉回路上所有的点的入度等于出度。然后,我们还能知道一个性质,对于一个图,度为奇数的个数,一定是偶数。所以我们把度为奇数的点分成很多组,每组2个点,然后把每组内部的2个点连一条边。这样的话

2016-10-05 12:32:03 795

原创 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,m],A[m+1,r],B[l,m],B[m+1,r]计算A[l,m]和B[l,m],以及A[m+

2016-09-29 21:13:45 613

原创 偏序 Gym101081J Optimized RPG

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

2016-09-29 21:05:46 528

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

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

2016-09-24 09:55:04 1713

原创 fwt_xor Codeforces663E Binary Table

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

2016-09-20 13:40:05 1149 1

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

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

2016-09-06 18:43:28 655

原创 最短路+定积分 csu1806 Toll

传送门:点击打开链接题意:一个有向图,但是只有10个点。然后每条路的费用会随着时间变化,费用等于ci*t+di。可以认为车在路上行驶不花费时间,所以时间只与出发时间有关。现在问从1到n去,在[0,T]这一段时间内出发,平均费用是多少。思路:首先我们得能看出这个积分表达式才行,萌萌哒的叉姐已经提示我们了(业界良心啊。。然后,Simpson求定积分,如果函数连续,且可以求出给定x时的y

2016-09-05 10:59:01 652 1

原创 最短路 csu1808 地铁

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

2016-09-05 00:17:40 1175

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

传送门:点击打开链接题意:有3种运算符,选择两个数使用这种运算符,使得最后的答案最大。思路:xor的我们已经很熟练了,我们来讨论&和|&的话,如果1的个数>=2,那么我们就走1,否则,就把字典树的01合并,因为此时01的答案是一样的。|的话,我们需要先做一个预处理。把对于每一个节点,其1所对应的字典树复制到0所对应的字典树上去。这一步可以用DFS搞定,复杂度是T(n)=T(n/

2016-09-05 00:04:57 764

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

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

2016-08-18 08:36:39 1079

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

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

2016-08-17 01:47:17 896

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

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

2016-08-15 01:17:26 846

原创 最小割 csu1355 地雷清除计划

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

2016-08-01 11:21:34 391

原创 枚举+求桥 Codeforces701F Break Up

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

2016-07-23 19:51:56 752

原创 KM hdu2255 奔小康赚大钱

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

2016-06-03 15:35:47 569

原创 凸包+三分 Codeforces631E roduct Sum

传送门:这里写链接内容 题意:允许交换两个位置位置的数字,最终使得∑nii∗A[i]\sum_i^ni*A[i] 最大,求最大值 思路:我们列出式子,很明显的可以发现可以用斜率优化来做。 但是我们发现A数组并不是不递减的,所以我们不能用单调队列来维护。 对于这题,我们应该去维护下凸包,然后在凸包上二分来做。 但是在做的时候,发现有非常多的细节要处理,必须非常细心才行#include <ma

2016-06-03 15:09:33 661

原创 scu图论专题题解

传送门:点击打开链接感觉做着还是好费劲啊,,,有些东西总是想不到T^TA题:给出边,分别判断是有向图或者无向图的时候,是否为欧拉回路首先必须弱连通图要连通。对于无向图,度全为偶数,或者度为奇数的点的个数为2对于有向图,入度全部等于出度,或者1个点入度-出度=1,1个点出度-入度=1,其他点入度等于出度#include #include #include #in

2016-06-03 00:11:30 735 1

原创 线段树 hdu5700 区间交

传送门:点击打开链接题意:有n个区间,求k个区间,使得这k个区间相交的区间内数字之和最大。数列的数字均>=0思路:通常这种题目我们都会先按照区间的右区间位置排序。之后的步骤如果想到了,就会变得

2016-05-23 10:45:51 1577

原创 快速幂 hdu5690 All X

传送门:点击打开链接 题意:问F(x,m)F(x, m)代表一个全是由数字xx组成的mm位数字。请计算,以下式子是否成立:F(x,m) mod k ≡ cF(x,m)\ mod\ k\ \equiv \ c 思路:相当于10m−19∗x%k≡c\frac{10^{m}-1}{9}*x \% k \equiv c是否成立 其实这个公式相当于(10m−1)%9k9∗x%k=c%k\frac{(1

2016-05-23 01:50:35 898

原创 分治法 区间的价值 hdu5696

传送门:点击打开链接题意:给你一个序列,定义一个区间的价值是,这个区间里的最大值乘以最小值。求出所有区间长度对应的最大价值。注意数据为全随机思路:重点是数据全部随机。这道题有了这个条件后,才变成了很多种方法都能做的题,这里我讲下分治法来搞。。我们来约定solve(l,r)来求出区间[l,r]中各种区间长度的最大价值。然后,我们找出[l,r]中的最小值。固定了最小值以后,我们再去

2016-05-23 01:27:25 2581 1

原创 排列组合 hdu5698 瞬间移动

传送门:点击打开链接题意:只能往右下走,一次可以走很远。求从(1,1)走到(n,m)的步骤数思路:枚举走的步数,假如为x那么,对于行,我要从1通过x步走到n对于列,我要从1通过x步走到m这两个操作是独立的,所以可以乘起来那么现在题目就变成了,求从1到n通过x步的方案数,其实就是把n-1个一样的小球放到x个不一样的箱子中,箱子不能留空的方案数,也就是一个经典的排列组合问题了

2016-05-23 01:17:33 1716 1

原创 矩阵快速幂+map 雷神之路 scu dp练习A题

传送门:点击打开链接题意:刚开始在位置0,只允许向右走,可以走1步,2步或3步,路上有地雷,不能踩(m 思路:很明显要用矩阵快速幂来加速计算dp。我们假如知道了位置pos[i]有一个雷,那么我们就要算出dp[pos[i]-1]和dp[pos[i]-2]的值,并让dp[pos[i]]=0对于下一个雷,我们就直接从这里开始用矩阵快速幂算到下一个雷的位置。因为里面的情况比较多,我们可

2016-05-18 21:21:21 494

原创 STL乱搞 Codeforces675D Tree Construction

传送门:点击打开链接题意:按BST插入节点。最后输出每个节点的父节点的值是多少思路:这场的cf脑洞都很大。。首先,假如我们要插入的节点的值为x,我们发现父节点的值一定是x的最小值的左节点然后我们还能发现,每次x的最小值的左节点,这2个位置,总是只有1个位置已经在之前被放了节点了,总是只有一个位置是空着的那么x就应该放在这个位置了(@#$%^&*#include #incl

2016-05-18 21:10:26 741

原创 取尺法 Codeforces675C Money Transfers

传送门:点击打开链接题意:有n家银行围成一个圈,有个人在有些银行里欠了钱,在一些银行里有存钱,欠的钱总数等于存的钱总数。现在可以有操作,如果两个银行相邻,那么就能在一个银行转任意多的钱到另一个银行。问最少的操作次数,使得在所有银行的存款钱数都为0思路:这道题的脑洞非常大。。首先我们要发现第一个贪心。如果有一段子串,里面的数字之和等于0,那么在这段子串中移动数字,所需要的代价为子串长

2016-05-18 21:02:48 968

原创 斜率优化 Snowdrop修长廊 scu dp练习B题

传送门:点击打开链接题意:要覆盖完n个点,要覆盖掉[i,j]的代价是(X[i]-X[j])*(X[i]-X[j])+W,求覆盖完所有点的最小代价思路:这是一道非常裸的斜率优化。网上讲解斜率优化的博客还是比较多的,斜率优化通常就是化简后,最后得到了一个斜率的式子推荐个学习的链接点击打开链接我稍微讲下我一开始看着比较费劲的地方。。(下面内容均建立在已经读完上面那

2016-05-18 20:22:22 513

原创 lcp+dp hzau17 LCS

传送门:点击打开链接题意:求s1和s2的最长公共子序列,要求每一连续部分的长度都要>=k(|s1,s2|思路:我们可能会考虑3维dp,但是很明显是会超时的,所以我们肯定是要用贪心或者数据结构降一维我们来考虑贪心。假如我已经知道了以i为结尾的前缀,以j为结尾的前缀的公共后缀,那么我们在(i,j)这个位置就能知道前面有多长的子串是一样的,即lcp如果我们直接考虑从1枚举到lcp,那复杂

2016-05-15 22:29:50 472

原创 线段树降空间复杂度,从O(4n)降到O(2n)

int ID(int l, int r) { return l + r | l != r;} 通常情况下,我们都是用rt来保存内容,然后左子树就是rt我们仔细想一想,线段树的节点个数其实只有n个,但是为什么我们要开4n内存呢?很明显,有的节点内存并没有用上。所以我们有么有一种方法,能直接把线段树所有的节点,恰好对应到n个连续空间上呢?这个ID函数就做到了。有了这个ID函数

2016-05-15 00:31:53 3437 2

原创 二分+树型 dp hdu5682 zxa and leaf

传送门:点击打开链接题意:一棵树n个点,其中有一些点已经有权值,现在给剩下的点安排权值,使得树中相邻两点的之差绝对值的最大值最小。思路:如果我们首先就想到了二分,那后面很好想了。。直接二分答案,之后check中,我们随便取1个点为根节点,然后从下向上按拓扑序做树型dp。设SL[u]和SR[u]表示节点u能填的数字的范围我们从下往上,然后只要判断是否有交集,即有解,我们就能知道当前答

2016-05-14 22:19:00 511

原创 优先队列+括号配对 51Nod1476 括号序列的最小代价

传送门:点击打开链接题意:这里有一个关于合法的括号序列的问题。如果插入“+”和“1”到一个括号序列,我们能得到一个正确的数学表达式,我们就认为这个括号序列是合法的。例如,序列"(())()", "()"和"(()(()))"是合法的,但是")(", "(()"和"(()))("是不合法的。我们这有一种仅由“(”,“)”和“?”组成的括号序列,你必须将“?”替换成括号,从而得到一个合法的括号

2016-05-05 19:29:36 1603

原创 栈+括号配对 51Nod1478 括号序列的最长合法子段

传送门:点击打开链接题意:给一字符串只有括号,问最长合法子串的长度是多少,并输出这样的长度的子串有多少个。思路:啊。。我发现这种括号配对的题我总是处理不好。一开始想到了一种比较脑残的方法,首先(代表+1,)代表-1,我们维护前缀和s,然后我们用单调栈来维护最左端的满足[x,i]所有前缀和都>=s。然后,我们并不能一直扩展到最左边,我们还应该记录前缀和等于s且后一个字符是(的位置。因

2016-05-04 23:15:42 2109

原创 DFS序+主席树 51Nod1681 公共祖先

传送门:点击打开链接题意:有一个庞大的家族,共n人。已知这n个人的祖辈关系正好形成树形结构(即父亲向儿子连边)。在另一个未知的平行宇宙,这n人的祖辈关系仍然是树形结构,但他们相互之间的关系却完全不同了,原来的祖先可能变成了后代,后代变成的同辈……两个人的亲密度定义为在这两个平行宇宙有多少人一直是他们的公共祖先。整个家族的亲密度定义为任意两个人亲密度的总和。思路:这道题的主席树用

2016-05-04 17:41:27 717

原创 记忆化搜索 Codeforces666A Reberland Linguistics

传送门:点击打开链接题意:给一个串s(|s| 4,后缀的长度为2或3。要求同一个后缀不会连续出现2次。问有多少后缀。思路:我们直接考虑从后往前搜索,保存后一个词和当前的词。但是这样直接搜索肯定会超时的。不过我们可以发现,中间有大量重复的,所以我们只需要记忆化一下位置,当前词的长度,后一个词的长度,就不会超时了#include #include #include #include

2016-04-30 11:14:03 638

原创 BFS+枚举 Codeforces666B World Tour

传送门:点击打开链接题意:有向边n个点,m条边(n b->c->d的路径最大,从u->v走的路径必须是最短路。题目保证存在4个点可以走到。思路:先BFS预处理出所有的从u到v的最短路径,并保存其他点到u的最短路径和次短路径,并保存好方案保存u到其他点的最短路径和次短路径,并保存好方案之后枚举b和c,通过之前保存的最短路和次短路组合起来,取最大值,就搞定了#include

2016-04-30 11:03:26 573

原创 二分+2SAT njust1928 puzzle

传送门:点击打开链接题意:小明在玩一个闯关游戏,共n关,必须按顺序通过,每一关会遇到两个数字(可能一样),他要选择其中一个,如果要选的这个数字是他之前选过的就直接过了这关。但是他如果在某一关选了数字X,那就不能在经过另一关时选择数字Y当X+Y=2*n-1时,如果在某一关没有数可选的时候游戏结束,问在闯关游戏中小明最多可以通过几关。思路:2SAT。。每一层,选第1个数字标记为0,选第2个

2016-04-26 18:21:01 408

原创 二分+2SAT zoj3422 Go Deeper

传送门:点击打开链接题意:go(int dep, int n, int m)    begin       output the value of dep.      if dep   end然后告诉你a,b,c三个数组的值,x数组里的值只有0和1,c里只有0,1,2问最多会输出什么。思路:我们二分最后输出的答案,然后每次check都去建边跑2SAT,看是否符合

2016-04-25 23:57:40 444

原创 2SAT hdu3062 Party

传送门:点击打开链接题意:n对夫妻,一对夫妻必须去1人,有m对人互相讨厌,不能同时去,问是否有这样的情况。思路:2SAT...#include #include #include #include #include #include #include #include #include #include #include #include #include #

2016-04-25 23:52:08 366

原创 2SAT poj3683 Priest John's Busiest Day

传送门:点击打开链接题意:有n个婚礼,有开始时间和结束时间,现在只有1个神父,必须要出现在每个婚礼的开始和结尾并持续一定的时间举行仪式。问神父是否可以做到对n个婚礼都矩形仪式。输出任意答案。思路:这算是2SAT最经典的题了首先说下2SAT,实质是把关系转换成了求强连通分量。如果已知a,必有b。那么就a->b这样连一条边。一个点拆成2个点,分别表示true和false。把边建好后

2016-04-25 23:12:07 352

C#八数码游戏实例

C#八数码游戏实例

2016-02-14

C#计算器实例

C#写的计算器实例

2016-02-13

左偏树论文-黄源河

黄源河的左偏树论文,一种简单易写而且合并和取最小值复杂度很低的平衡树

2015-10-27

Android 短代码实现 最简易的画板

Android 短代码实现 最简易的画板

2015-09-07

易逍遥模块1.6.ec

逆天http模块,无需处理cookie!(只有跨域才需要保存cookie)

2015-06-13

易语言 skinh破解版

SkinH_EL.dll

2012-08-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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