自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MisDeer's blog

您们怎么都这么强啊……

  • 博客(233)
  • 收藏
  • 关注

原创 Cocos Creator 笔记

Cocos Creator 笔记 前言 能记多少是多少吧 = =! 引擎配置引擎功能脚本编写properties里用 _ 开头的变量不会显示在属性面板里cc.Class({ properties: { _invisibleVar: cc.Interger }});杂项

2018-02-01 22:33:45 526

原创 [Hackrank] Prime XOR (计数DP)

Hackrank - Prime XOR 给定N个数,求有多少个不同子集的异或和为质数 其中 N≤105,3500≤ai≤4500N \leq 10^5, 3500 \leq a_i \leq 4500首先异或和不会超过 213−12^{13}-1 然后虽然 NN 很大,但是每个数的范围在1000以内 所以总的不同的数不会很多 所以做法是枚举每种数取了多少个,然后暴力转移即可 刚

2017-05-30 18:42:16 579

原创 [ZOJ 3747] Attack on Titans (计数DP + 连续至多 + 连续至少)

有三种士兵(G,R,P)组成长度为N的队列 要求其中至少有连续的M个G,至多有连续的K个R 求排列的方案数首先用至多 NN 个的方案减去至多 M−1M-1 的方案 就可以得出至少 MM 的方案 问题就转化为只有连续至多的限制,求方案数 设 dp[i][j]dp[i][j] 表示第 ii 位为 jj 的合法方案数 因为是连续的,而每当限制刚超过的时候就要被减掉 所以对于的 ii

2017-05-23 17:21:35 497

原创 [2016陕西省赛B] Rui and her functions

2016陕西省赛B 给定n个函数,其中fi(x)=(ai∗bxi+ci)moddif_i(x) = (a_i*b_i^x+c_i) \mod d_i 求对于每个函数最小的 xx,使得fif_i取到最小值 答案保证递增 其中xx在[1,m][1,m]中,n,m<1e5n,m<1e5, a,b,c,d<1e9a,b,c,d<1e9所以可以整体二分一下 由于答案已经保证递增了,

2017-05-17 23:30:15 337

原创 [2016陕西省赛D] Rui and her triangles

2016陕西省赛D 给定一棵大小为N的树,每个节点有个权值a_i 询问每个节点为根的子树中,取三个点的权值构成三角形的方案数 其中 N,a_i < 1000赛上懵逼了,实际上这题和贡献有关 考虑枚举两个点,权值为 xx和 y(x>y)y (x>y) 那么第三个点的范围在 (x−y,x+y)(x-y, x+y) 接着我们找出这两个点的lca, 那么从lca为根的子树会受到这

2017-05-17 22:59:06 379

原创 [POJ 3713] Transferring Sylla (枚举删点+Tarjan求割点)

POJ - 3713 给定一张 N个点的无向图,问是否三联通 三联通指的是从a到b有三条除了a和b外没有重点的路径暴力的做法是枚举删掉两个点,看图是否还联通 复杂度 (N3)\mathcal{O}(N^3) 但是 N<=500,在POJ上肯定被卡掉了 所以优化的做法是枚举删掉一个点,看图是否有割点 如果存在割点,说明删掉这个点,图就不联通了 复杂度 (N2)\mathcal

2017-03-19 15:06:35 532

原创 安装Broadcom无线网卡驱动

不知道为什么我的网卡驱动突然挂掉了,无法扫描出无线网络。 我的网卡是 Broadcom BCM43142 802.11b/g/n。 官网貌似不提供这个驱动了(好坑) 搜索了一番找到了解决方案。 sudo apt-get install bcmwl-kernel-source sudo modprobe wl 然后就搞定了。

2017-03-18 16:05:44 1544

原创 [Codeforces 510E] Fox And Dinner (网络流+分组建图)

Codeforces - 510E 有 N只狐妖,其中年龄加起来为质数的可以坐在一次 求一种方案,使所有人都坐成若干个环注意到每个人的年龄都大于等于2 这意味着所有的质数都是奇数 相邻两个一个是奇数,一个是偶数 所以整张图是一个二分图然后跑网络流 源点对奇数点连容量为 2的边 偶数点对汇点连容量为 2的边 中间奇数点对偶数点连容量为 1的边 表示每个点至多有两个邻居 最后

2017-01-25 16:20:39 328

原创 [Codeforces 486E] LIS of Sequence (LIS套路)

Codeforces - 486E 给定一个序列,问其中每一个值是否在 LIS上 如果在 LIS上,是否在所有LIS上判断是否在 LIS上,只要正反搞两次 然后把前后的加起来,看是否等于 LIS 判断是否在每一个 LIS 上 只要记录一下前面是 LIS的最大值 然后看是否能接到上面,也是正反各搞一次 感觉这个题挺重要的,今天又碰到一题需要这个作为前提#pragma commen

2017-01-21 18:17:03 258

原创 [Codeforces 486E] LIS of Sequence (LIS套路)

Codeforces - 486E 给定一个序列,问其中每一个值是否在 LIS上 如果在 LIS上,是否在所有LIS上判断是否在 LIS上,只要正反搞两次 然后把前后的加起来,看是否等于 LIS 判断是否在每一个 LIS 上 只要记录一下前面是 LIS的最大值 然后看是否能接到上面,也是正反各搞一次 感觉这个题挺重要的,今天又碰到一题需要这个作为前提#pragma commen

2017-01-21 18:16:28 327

原创 [Codeforces 484D] Kindergarten (DP + 树状数组优化)

Codeforces - 484D 给定一个长度为 N 的数列,可以将连续的一段分成一组 每组的价值为组内最大值减最小值,数列的价值为所有组的价值和 问整个数列的价值的最大值很容易想到一个 (N2)\mathcal{O}(N^2)的 暴力DP 然后有一个性质,就是每组的最大值最小值一定在边界上 容易证明,如果最值不再边界上,可以向内缩小这个组 把剩余的值让出来给其他组,结果

2017-01-21 16:39:45 248

原创 [Codeforces 557E] Ann and Half-Palindrome (Trie树+子串排序)

Codeforces - 557E 给定一个只有a和b的字符串,输出它第 K 个半回文子串 半回文串的定义是,所有奇数位置都是回文的 其中字符串长度不超过5000 ,保证有解可以直接暴力找出所有半回文串,复杂度 (NlogN)\mathcal{O}(NlogN)问题就在于如何找第 K大的,直接暴力排序是不支持的 我太久没做字符串题了,套路全忘光了 于是偷瞄了一下题解,看到了一

2017-01-21 16:29:20 302

原创 [Codeforces 455D] Serega and Fun (分块)

Codeforces - 455D 给定一个长度为 NN 的序列,QQ 个询问 每次询问一个区间,有两种操作 一是将区间内的数向右循环移位 二是询问区间内有多少个数等于 kk 其中 N,Q≤105,ai≤NN,Q \le 10^5, a_i\le N 强制在线据说正解是一个分块,每操作一定次数之后暴力重构一下 保证每块大小尽量接近我的做法也是一个分块,每块用一个

2017-01-20 19:34:37 790

原创 [Codeforces 496D] Tennis Game (筛法复杂度)

Codeforces - 496D 给定一个长度为 N的网球比赛的记录 网球比赛胜者要赢 S场,每场胜者要赢 T球 问所有符合条件的 S和 T的可能取值枚举 T的值,然后判断是否有符合条件的 S 通过二分来查找每场的结束位置 总的复杂度为 (Nlog(N)log(N))\mathcal{O}(Nlog(N)log(N))关于 s是否合法,有挺多条件的,我刚开始没想周全如果在

2017-01-19 20:07:22 296

原创 [Codeforces 543A] Writing Code (完全背包DP)

Codeforces - 543A NN 个人写共计 MM 行代码,第 ii 个人每写一行代码就有 aia_i 个bug 问使得 MM 行代码都被写完,并且总 bug不超过 BB 的方案数背包DP…… 太久没写了已经不会写了…… dp[n][m][b]表示当前为第 n个人,还剩 m行代码,b个可容许bug 然后无须枚举当前人写了几行代码,只需要从大到小枚举 m 然后把状态还是更新第

2017-01-19 19:18:42 257

原创 [Codeforces 615E] Hexagons (找规律)

Codeforces - 615E 给定一个六边形网格,从原点出发逆时针绕行 问走了 N步以后的坐标找规律题,有点恶心 数出走了 N步以后,各方向向量的个数 发现每个方向向量个数的规律都是一个等差数列 然后数一下每个等差数列最多能有多少项,然后处理一下边界#pragma comment(linker, "/STACK:102400000,102400000")#include <

2017-01-19 12:04:57 248

原创 [Codeforces 204C] Little Elephant and Furik and Rubik (期望)

Codeforces - 204C 给定两个长度相等字符串,每次随机各从中选两个长度相等的子串 问两个子串对应位置相等个数的期望值枚举 A中的每个字符,然后算贡献值 预处理一下 B中相等字符的前缀和即可 总的复杂度是 (N)\mathcal{O}(N)的 注意分子可能会爆LL,所以开成double的#pragma comment(linker, "/STACK:102400000

2017-01-18 17:24:44 254

原创 [Codeforces 333D] Characteristics of Rectangles (二分答案+鸽笼原理)

Codeforces - 333D 给定一个 N*M的表格,求其中一个子矩阵 使得这个矩阵四个角的最小值最大刚开始百思不得其解,怎么想都是暴力三方的 后来想到二分答案,问题就变成了平面上若干个点,求是否能围成一个矩形 然后发现围矩形好像也是三方的,那复杂度比起一般暴力岂不是更高 然后就投降了……经大爷指点,由于鸽笼原理,围矩形的复杂度不超过平方 具体就是枚举每一行,然后枚举这行的

2017-01-17 19:23:25 451

原创 [Codeforces 232B] Table (计数 + 背包DP)

Codeforces - 232B 给定一个 N×MN\times M的棋盘,每个格子都可以放一个棋子 问有多少种方案,使得每个 N×NN\times N的区域都恰好有 KK 个棋子 其中 N≤100,N≤M≤1018,K<=N2N\le 100, N\le M\le 10^{18}, K<=N^2由样例很容易看出,每列的棋子具有周期性 即第 xx 列棋子的个数等于第 x+Nx+

2017-01-17 15:55:35 313

原创 [Codeforces 711E] ZS and The Birthday Paradox (数学+Legendre公式)

Codeforces - 711E 生日攻击的模型,现在有 2^n天,k个人,问不冲突的概率 其中 n和 k都是在 LL范围内的数,并且要输出既约分数很容易就列出计算式,难点就在于约分 算式大概是 1−ab=b−ab1-\frac a b = \frac {b-a} b这个形式的 然后可得 gcd(b−a,b)=gcd(a,b)\gcd(b-a, b) = \gcd(a, b) 所

2017-01-17 11:57:30 328

原创 [HDU 4027] Can you answer these queries? (线段树+区间开方)

HDU - 4027 给定一个长度为 N 的数列,有M个操作,操作分两种 一是让指定区间每个数都开方,二是询问区间的和由于每个数都在LL范围内,所以实际上每个数开方的次数不会很多 用线段树维护区间和,开方就暴力到根,然后逐个开方 当发现区间全部都是 1的时候就直接return坑点:所有数都大于 0可能出现 l>r的情况,这时候要 swap(l,r)每个case最后还要加一个换行

2017-01-16 12:34:17 354

原创 [SEERC15] LCM (数论 + gcd(x,x+a))

SEERC15 - D 给定两个数 A和 B,求一个正整数 N,使得 LCM(A+N, B+N)最小 如果有多解,输出最小的 N这次是两个数加上一个数,再与 GCD|LCM 关联起来 用之前的套路怎么也不会算,因为这个加法真是太讨厌了 看了题解才知道咋做的因为不管加了什么数,两个数的差是不会改变的 不妨设 A比 B小,那么两个数可以表示为 A和 A+x 其中 x=B-A,这样一来

2016-12-01 18:27:11 513

原创 [HDU 5956] The Elder (斜率DP + 可持久化单调队列)

HDU - 5956 树上的一个斜率DP裸题用斜率DP加可持久化单调队列强行搞。 可持久化单调队列就是弹的时候用二分在log时间内确定弹到什么位置 然后加入的时候一次只修改一个,只要备份一下原来的一个值即可 这题注意开一下longlong#pragma comment(linker, "/STACK:102400000,102400000")#include <cstdio>#inc

2016-11-11 19:56:49 905

原创 公平博弈笔记

威佐夫(Wythoff)博弈 两堆石子,从某一堆中取任意数量 或者两堆中同时取相等的任意数量的石子结论设必败点 (ak,bk)(a_k, b_k),aka_k是前面未出现的最小自然数,bk=ak+kb_k = a_k + k 前几个必败点是 (0,0),(1,2),(3,5),(4,7),(6,10),(8,13)性质这些数不重复不遗漏地包含了所有自然数 并且所有a、b的差值也正好构

2016-10-14 20:12:05 393

原创 [HDU 5130] Signal Interference (圆与简单多边形面积交)

HDU - 5130 求圆与简单多边形的面积交从圆心将多边形剖分成若干个三角形 然后求每个三角形与圆的面积交 为了方便其间,先将多边形每条边与圆的交点加入多边形上 这样每条边与圆的关系只有两种,要么都在圆内,要么都在圆外 所以只要求相应的三角形与扇形面积即可#pragma comment(linker, "/STACK:102400000,102400000")#include <c

2016-09-29 22:00:50 460

原创 [HDU 5572] An Easy Physics Problem (点在线上判定+对称)

HDU - 5572 给定一个圆和圆外两个点 A和 B 现在有一个质点在 A处,有速度方向 V 其与圆的碰撞是弹性碰撞,问质点是否能经过 B分情况讨论如果射线不与圆相交,直接判定点是否在射线上如果射线与圆相交,那么列方程解出与原交点 并得出反弹的法线方程,然后以法线方程作对称 最后判断点是否在一条线段和一条射线上作对称的话可以将点 A以法线作对称,然后再用撞击点和对称点得

2016-09-18 09:30:49 478

原创 [HDU 5881] Tea (贪心)

HDU - 5881 有一壶水和两个杯子,每次只能从壶里往杯子里倒水 杯子中的水量是可见的,壶中的水量是不可见的 但是可以知道壶里的水倒完了没有 开始壶中的水量在 [L,R][L,R] 中,要求将水到入杯中 并且最后壶中的水量不超过 1,两个杯子的水量差不超过 1贪心,由于我不知道壶中有多少水,但我知道下限 于是先向一个杯子中倒入 L−12+1\frac {L-1}

2016-09-18 01:15:43 1298 1

原创 [HDU 5886] Tower Defence (树形DP)

HDU - 5886 给定一棵树,每条边都有一个权值 定义一条边的战术价值为割去这条边后 剩下的图中最长链的长度 求随机割掉一条边,战术价值的期望题目要求乘以 N−1N-1,所以直接把概率消掉了 所以只要求割去每条边后的最长链长度即可 这就转化为了一个树形dp 首先割去一条边 u−>vu->v 后,最长链可能在 vv 为根的子树中 这个简单地做一次树形dp就能得出

2016-09-18 00:36:18 792

原创 [HDU 5889] Barricade (最短路 + 最小割)

HDU - 5889 给定一张无向图,每条边的长度为 1 要求在 1到 N的最短路上放一些陷阱 使得 1到 N的每条最短路上至少有一个陷阱 其中在某条边上修陷阱有一个代价,求最小代价和很显然的一个最小割 首先先用 SPFA把最短路求出来,然后依据最短路建图 然后再在新图上跑网络流即可 注意这个流量是有方向的,最短路上的反向边容量应该清零#pragma comment(linker, "

2016-09-17 22:34:00 587

原创 [HDU 3060] Area2 (简单多边形面积交)

HDU - 3060 给定两个简单多边形,求他们覆盖的面积先求出两个简单多边形的面积交 然后用面积和减去面积交 简单多边形面积交的求法就是将多边形分割成若干三角形 然后两组三角形用凸多边形的方法两两求交#pragma comment(linker, "/STACK:102400000,102400000")#include <cstdio>#include <iostream>#i

2016-09-09 22:22:19 1172

原创 [CSU - 1811 (湖南省赛16)] Tree Intersection (dfs序维护子树+离线询问+树状数组)

CSU - 1811 (湖南省赛16) 给定一棵树,每个节点都有一个颜色 问割掉任意一条边,生成的两个子树中颜色集合的交集大小这个是 dfs序处理子树 + 离线询问 + bit维护 的解法 首先问题转化为求解一个子树中有多少种颜色以及独有颜色的数量 用总的颜色数量减去独有颜色数量即为这棵子树的答案 先做一遍 dfs,再按 dfs序重新组建颜色序列 这样对子树的询问,就变成了对序列

2016-09-09 13:22:32 519

原创 [Codeforces 166B] Polygons (点在凸多边形内)

Codeforces - 166B 判断任意多边形 B是否严格在凸多边形 A内部点在凸多边形内部试板题 如果 B的所有顶点在 A内,则 B在 A内 由于 A的顶点有 10510^5个,B的顶点有 10410^4 个 所以不能用 (n)\mathcal{O}(n)的暴力判断 有一个 (logn)\mathcal{O}(logn) 的二分做法 基本原理是用对角线将凸多边形剖成以 co

2016-09-08 23:52:33 416

原创 [CSU - 1811 (湖南省赛16)] Tree Intersection (启发式合并)

CSU - 1811 (湖南省赛16) 给定一棵树,每个节点都有一个颜色 问割掉任意一条边,生成的两个子树中颜色集合的交集大小问题可以转化为任意一棵子树中, 这个子树中的颜色数量和只在这个子树中出现的颜色的数量 从 lcy大爷那里学到了机智的启发式合并的做法 对每个点维护一个 map 来记录这个点为根的子树中颜色的及其数量 然后dfs一遍,对每个节点启发式地将其儿子的map合并

2016-09-08 22:04:25 425

原创 [Codeforces - Gym10081D (NEERC)] Distribution in Metagonia (构造+数的拆分)

Codeforces - Gym10081D (NEERC) 给定一个数,将其变成若干个数的和 如果这些数有因子,那么只能是 2或 3 并且这些数两两不能除尽构造题 如果这个数为 1,那么答案就为 1 若不为 1,那么如果他是奇数 那么我减去最大的一个 3次幂转化为一个偶数, 再不断地提出 2,变成一个奇数,循环直到其变为 1 所以这个数 N=3a1+2b1(3a2+2b

2016-09-08 21:07:24 2339

原创 [Codeforces - Gym100801H (NEERC)] Hash Code Hacker (字符串构造)

Codeforces - Gym100801H (NEERC) 给定一个字符串hash,为 ∑i=0len−1str[i]×31len−1−i\displaystyle\sum_{i=0}^{len-1} str[i]\times 31^{len-1-i} 求 KK个长度不超过 1000的字符串,使得他们的 hash值相等 其中每个 hash值是 32位有符号整数,K≤1000K\l

2016-09-08 20:18:33 725

原创 [CSU 1808(湖南省赛16)] 地铁 (拆点建图+多源多汇最短路)

CSU - 1808 (湖南省赛16) 给定一张图,每条边有一个距离和颜色 问从 1到 n的最短路为多少 其中一条路径的长度不仅要算上距离 还要算上相邻两条边颜色的差如果对每个点记录从某个颜色转移过来的最短路肯定是不现实的 以边为点跑最短路肯定也是不现实的,这种做法与前者无本质区别 但在CSUOJ上这两种做法都能过,可能是数据比较弱 正解是拆点,一个点每连出去一条边,就

2016-09-06 22:17:38 680

原创 [CSU 1803(湖南省赛16)] 有向无环图 (DAG+公式化简)

CSU - 1803 (湖南省赛16) 给定一个 nn 个点的有向无环图, 定义 count(u,v)count(u,v) 为 uu 到 vv 的路径方案数 求 ∑i=1n∑j=1ncount(i,j)×ai×bj\displaystyle\sum_{i=1}^n \sum_{j=1}^n count(i,j)\times a_i\times b_j 其中 aia_i 与 bj

2016-09-05 20:21:57 404

原创 [CSU 1803(湖南省赛16)] 2016 (数论+模运算)

CSU - 1803 (湖南省赛16) 给定 NN 和 MM ,问有多少对 aa 和 bb 其中 1≤a≤N1\le a\le N,1≤b≤M1\le b\le M,且 a×b%2016=0a\times b\%2016=0刚开始想错了,导致我花了很多时间去思考如何去重 后来看到一种特别机智的做法 a×b=(k×2016+t)×b=t×b=0 (mod2016)a\times b =

2016-09-05 20:05:13 280

原创 [Codeforces 27D] Ring Road 2 (二分图染色)

Codeforces - 27D 给定一个 NN 个点的环,要求添加 MM 条路 这些路要么在环的内部,要么在外部 问是否有一种添加方案, 使得所有新加的路除了端点以外的地方不相交首先显然可以将环剖成一条链 然后不相交的路就转化为了线段覆盖问题 然后 (M2)\mathcal{O}(M^2) 预处理出所有可能相交的线段 然后跑二分图染色即可 判断线段相交可能写起来有

2016-08-24 21:43:07 457

原创 [Codeforces 543C] Remembering Strings (状压DP)

Codeforces - 543C 给定 NN 个长度皆为 MM 的字符串,其中 1≤N,M≤201\le N,M\le 20 将第 ii 个字符串的第 jj 为修改成其他字符需要代价 aija_{ij} 要求用最少的代价,使得每个字符串都至少有一位是独一无二的很显然的一个状压DP 首先状压一下哪些字符串已经是独一无二的 由于字符串数量小于可用字母数量,所以总是能自由修改字符

2016-08-24 19:31:45 418

空空如也

空空如也

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

TA关注的人

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