自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 自定义文法编译器

关于我的自定义文法的详细说明

2019-06-27 18:12:12

阅读数 89

评论数 0

原创 POJ - 1742 Coins 背包dp变形

POJ 1742 首先多重背包有一种普通的二进制优化,然后这题还可以加一个判断如果,a[i] * c[i] >= m 的话,那就和完全背包一样,不用多重背包。这样应该能过。 第二种做法,是参考了完全背包,完全背包可以用O(nm)的复杂度完成,是因为,遍历m的时候没有数量的...

2018-08-09 21:04:37

阅读数 56

评论数 0

原创 #539. 「LibreOJ NOIP Round #1」旅游路线

首先看到有T<=1e5T<=1e5T dp[i][j]=max(dp[i][j],dp[k][j−p[i]]+mp[i][k])dp[i][j]=max(dp[i][j],dp[k][j−p[i]]+mp[i][k]) dp[i][j] = max(dp...

2018-08-06 17:01:27

阅读数 178

评论数 0

原创 2017-acmicpc-world-finals F - Posterize

题意 给n种颜色值,每种颜色值为r[i],数量为p[i],按颜色值递增顺序给出。 现在可以任意制造k个特殊值。 每种颜色值会找到和它差最小的特殊值,然后产生一个(r[i]−k[i])2∗p[i](r[i]−k[i])2∗p[i]( r[i] - k[i] ) ^ 2 * p[i]的权值。 ...

2018-08-06 13:06:32

阅读数 129

评论数 0

原创 牛客网暑期ACM多校训练营(第五场)

E - room 这题不要想太多,不应该想去怎么换人,而应该想怎么分配宿舍。 i作为原来的4人住宿,j作为新的4人住宿,那么i和j里都有的人就是不用换宿舍的。 至于不在j里的人,可以理解为他们需要换宿舍,搬出去了,但是搬到哪里不用管。 因为它们要去的地方肯定是会有人搬出来的,他们直接入住就...

2018-08-04 18:14:04

阅读数 59

评论数 0

原创 容斥原理练习记录

HDU 1796 How many integers can you find 题意 给你一个集合n,里面有1–n-1的整数,再给你一个集合m,里面有m个非负整数。 求集合n中能被集合m中某个数整除的数的个数。 解 很明显就是枚举因子的容斥,但是注意如果有两个因子6和9,那不能用他们...

2018-07-31 20:53:28

阅读数 144

评论数 0

原创 ACM-ICPC 2017 Asia Urumqi A - Coins 概率dp

用dp[i][j]表示翻第i轮,有j个朝上,这题用往后推的方法比较好写。而不是在前面找。 然后用san[i][j]表示从抛i个硬币,有j个向上的概率,注意这个概率跟那i个硬币原来是正是反没关系。 根据题目的要求,要尽量让向上的硬币多,所以每次尽量选朝下的硬币,但朝下的硬币可能不够,所以 dp...

2018-07-29 17:54:36

阅读数 236

评论数 0

原创 Codeforces Round #497 (Div. 2) D - Pave the Parallelepiped

这场就不说啥了,打的很爆炸。。 漏了个return false结果函数返回值有问题,下次一定要注意。 D 题又是一个无敌容斥原理。。看来这个东西得好好补补了。 下面的题解算是对CF的editorial的理解和大致翻译吧 问你有一个(A,B,C)的平行六面体,让后让你找出(a,b,c),能够...

2018-07-28 20:25:01

阅读数 91

评论数 0

原创 牛客网暑期ACM多校训练营(第四场)A - Ternary String 欧拉降幂

比赛的时候退出来的2的公式很麻烦。。结果根本就没想到欧拉降幂 之后看到题解里的公式竟然这么短。。 假设删去之前某个字符存在了n秒 那么删去0的时间 = 1 删去1 = n + 2 删去2 = 3∗2n+1−n−33∗2n+1−n−33 * 2 ^{n+1} - n -3 肯定是从左到...

2018-07-28 20:24:45

阅读数 51

评论数 0

原创 Benelux Algorithm Programming Contest 2014 Final

Benelux Algorithm Programming Contest 2014 Final G - Growling Gears 找−4ac−b2−4a−4ac−b2−4a \frac{-4ac - b^2}{-4a} 最大的就可以 B - Button Bashing ...

2018-07-11 11:41:18

阅读数 56

评论数 0

原创 Codeforces Round #493 DIV2

A - Balloons 只有一堆的时候显然不可以。 两堆的时候,如果他们数量相等,也不可以。 其他情况,为了保险起见,我把他们排一下序,选择数量最少的那堆。其实只要不选数量最大的那堆就可以了。 #include <bits/stdc++....

2018-07-02 21:39:18

阅读数 143

评论数 1

原创 Gym - 101201G Maximum Islands

题目链接 这题题目很短,第一步的思路很快就想到了,就是把L的周围直接改成W,这是很显然的。 然后就是对剩下的C求一个能选择的最大数量,而且要互相不能碰到。 当时脑子一抽竟然用贪心来做,唉。 比赛之后一想这就是个二分图最大独立集啊。。 对于这类在图上选择最多的相互没有关联的点,就是经典的最...

2018-05-14 11:56:27

阅读数 76

评论数 0

原创 2017ICPC青岛K Our Journey of Xian Ends

Our Journey of Xian Ends 现场赛做到这题还剩1个多小时,首先心态就有些急了。 然后读题的时候比较急躁,题目又臭又长,导致没有发现,如果要在上海的两个机场之间走的话,只有一种走法。 但是由于要经过某两个特殊点,网赛有类似题,于是知道是费用流,先把板子敲上去,敲板子期间队...

2017-11-23 21:28:32

阅读数 361

评论数 0

原创 HDU 4322 Candy 最大费用流+巧妙建图

单单用最大流显然是不能达到最佳分配的,应该使用费用流。 费用很显然,对于喜欢的糖,费用就是K,我一开始想的是用b[i]/kb[i]/k来表示容量上限,但后来发现这样是不对的,因为可能最后一颗糖加上之后费用超过了b[i]b[i],但实际得到的快乐值只有b[i]b[i],所以要对b[i]%kb[i]...

2017-10-25 23:01:52

阅读数 112

评论数 0

原创 HDU2435 There is a war 修改一条边权值后的最小割

题目简单来说就是让你在2…(n−1)2\ldots(n-1)之间修改一条边的权值,可以是原来存在的边,也可以是原来不存在的边,只能把权值改成INF,求最大的最小割。这题就是稍微优化点的暴力,首先要能修改最小割,那么一定是改做完最小割之后,连接左右两块的边,之后再重新求一次最小割。所以做完最小割之后...

2017-10-14 11:09:25

阅读数 123

评论数 0

原创 CodeChef - COUNTARI Arithmetic Progressions FFT 分块

这题因为ijk大小关系的限制,所以不能像三个傻瓜那题一样直接FFT,排序后排出情况。所以一开始想到的是对每个位置都做一次FFT,即枚举AjA_j,用Ai和AkA_i 和 A_k做FFT,但这复杂度明显是不行的O(N∗30000∗log30000)O(N * 30000*\log30000) 然后...

2017-09-30 18:10:45

阅读数 94

评论数 0

原创 URAL 1996 Cipher Message 3 FFT KMP

首先还是要回到卷积的定义上 C(k)=Σi+j=kai∗bj C(k) = \Sigma_{i+j=k} a_{i}*b_{j} 这题这种做法我是看了题解之后才知道的。如果a是a1a2a3a4a_1a_2a_3a_4 ,B是b1b2b3b_1b_2b_3 ,如果我们做卷积,那么其中C5=a2∗...

2017-09-29 21:25:28

阅读数 90

评论数 0

原创 2016 香港网络赛 A题. A+B Problem (FFT)

题目地址 给你一堆数,问你满足ai+aj=ak a_i+a_j = a_k 的 (i,j,k) (i,j,k) 三元组的数量。 因为有负数,所以给每个数右移50000 然后几乎是一个裸的FFT,就这么提交,然后WA了。之后想到了忘记判不符合的情况了,只有一个地方要考虑一下。就是ai=0且j=...

2017-09-28 22:45:44

阅读数 173

评论数 0

原创 HDU 4609 3-idiots FFT入门

给你一堆数,问你组成三角形的概率是多少。首先用FFT算出可以用两个数组成的长度。把数当做权值,出现一个数就在那个权值位置加1。 然后就是用FFT计算多项式乘法。然而这样会有重复 1. 一个数自己和自己组合是不存在的,所以要删一次 2. 比如有两个数1 2 ,取(1,2)和取(2,1)是一样的...

2017-09-28 21:42:11

阅读数 91

评论数 0

原创 HDU 6194 String String String 后缀数组 正好出现K次的子串个数 CSU1632 至少出现2次的子串个数

求正好出现K次的子串个数。 对于k≥2 k \ge 2 的时候 ,维护一个大小为k-1的区间,LCP(l,r)就是该区间内出现K次的子串个数,因为有些子串可能会在与这个区间的相邻的两端出现,所以要把他们减掉,即贡献是LCP(l,r)−max(height[l−1],height[r+1]) LC...

2017-09-27 00:04:53

阅读数 335

评论数 0

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