不来也不去的一只失忆蝴蝶

曾迷途才怕追不上满街赶路人

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

[agc009e]Eternal Average

前言需要发现性质的dp。 重点在于发现性质。题意请构造若干k叉树,使得每颗均有n+m个叶子,有n个叶子点权为0,m个叶子点权为1,对于非叶子点权为儿子点权的平均数。 问最多构造多少k叉树,使得任意两颗根节点点权不同?DP令n个叶子的深度为x1~xn,同理m个叶子的深度为y1~ym。 发现根节...

2017-10-19 16:13:59

阅读数:507

评论数:0

[agc009c]Division into Two

前言DP题,还可以,不是很难。题目大意把一堆互不相同的数分成两个集合X和Y,其中一个集合X任意两数之差不小于A,另一集合Y任意两数之差不小于B。 问方案数,集合可以为空。DP把这些数排序。 接着添加第0个数无穷小以及第n+1个数无穷大。 我们假设A>=B。 设f[i]表示分配好了前i...

2017-10-17 22:19:06

阅读数:224

评论数:0

[agc019e]Shuffle and Swap

前言计数水平不行了。 居然不会n^2去dp这个模型。题意太麻烦了看网站。DP假设有x个公用1和y个非公用1。 用图论来理解。 最后一定形成y条链,若干个环。 其中链中的边在序列中要按顺序,环则随意。 环可以先不管。 考虑dp[i,j]表示目前做出来两个i+j的序列,有i个公用1和j个非...

2017-10-11 22:38:21

阅读数:242

评论数:0

[agc019c]Fountain Walk

前言这是一道比较简单的题。 但是我没想好答案增大的情况,所以我一开始觉得细节讨论有点麻烦。。题目大意不想说,看网站做法先通过一系列翻转交换等满足x1<=x2,y1<=y2。 我们注意经过温泉有减少答案(走1/4圆) 和增加答案(走1/2圆)两种。 我们不希望增加答案,希望尽量减...

2017-10-10 21:33:58

阅读数:380

评论数:0

[agc015e]Mr.Aoki Incubator

前言看错题好久,怨念极深。 主要就是推染红的条件。 将速度排序是关键。 然而本题最重要的是证明区间不包含,然后做法可以很显然的得到。题意数轴上许多黑点,每个点都有一个方向向右的正速度。 当两个点在同一个位置上重合时,若其中一个是红色,另一个也变成红色。 保证没有相同速度或初始坐标。 现...

2017-09-28 22:30:38

阅读数:446

评论数:0

[agc015c]Nuske vs Phantom Thnook

前言一开始想了无特殊性做法。 后来才用到树的性质QAQ题目大意一个蓝白网格图,保证蓝格子连成森林。 每次选取一个子矩阵问蓝联通块个数。做法森林联通块数=点数-边数。 于是很好做。#include<cstdio> #include<algorithm> #define ...

2017-09-27 22:05:44

阅读数:211

评论数:0

[agc013e]Placing Squares

前言这题啃了好久啊。 一开始就知道要解决子问题,但没想到是模型转换,只是对着式子乱搞,推了好久(中途推出了一个隔项斐波那契数列)然而最后证实我式子推错了(菜醒.jpg) 于是膜拜了题解的模型转换。题意给你一个大小为m的集合S,S中不包含n。 现在对于一个正整数序列a1−aka_1-a_k,如...

2017-09-26 17:40:02

阅读数:367

评论数:0

[agc013d]Piling Up

前言一开始写了个naive的dp发现方案数跟初始放球无关只和颜色序列有关所以我算重了。 然后想到了强制到达0,但发现会算漏(因为0会卡下界)。 然后想到加上强制到达1就不卡下界了,但发现还是会算重(如果这个方案没有执行某种转移)。 最终弄出来才觉得这种“简单dp”题的精髓还是挺秒的。题意在箱...

2017-09-23 16:49:38

阅读数:577

评论数:0

[agc012e]Camel and Oases

前言很容易的就发现了只有log次跳跃。 然后状压DP。 似乎就是个简单题吧(怎么比12c还简单)题意一排点,两点间有距离。 初始你有一个行走值v,如果相邻两点距离不超过v你可以自由在这两点行走。 当v大于0时,你可以选择某一时刻突然飞到任意点,这样做后v会减半(下取整)。 问从每个位置初...

2017-09-23 11:19:45

阅读数:315

评论数:0

merge

题目大意将两个排列随意归并,求能得到多少本质不同的序列。DP直接转移会算重。 手玩+感受一下发现容斥系数是卡特兰数。 详见代码。#include<cstdio> #include<algorithm> #define fo(i,a,b) for(i=a;i<=b;...

2017-08-20 15:01:05

阅读数:235

评论数:0

[bzoj4936]Match

题目大意给你一个小写字母字符串。 请构造一个合法括号序,使得匹配的括号在原串中字母相同。 要求字典序最小,且要求判断无解。暴力我们考虑如何判断无解。 你考虑一个栈,顺序扫这个字符串。 假如当前字符和栈顶字符相同消除栈顶字符,否则将这个字符加进栈中。 这可以得到一个合法解,且我们可以证明任...

2017-08-16 17:37:33

阅读数:448

评论数:3

决战

题目大意给你一个3*n网格图。 你有m个士兵,每个士兵会对3*3的范围内进行攻击,攻击矩阵初始给定。 有多少种放置士兵的方法,使得士兵互不攻击。DP很显然能dp 这个dp还很显然能NTT优化 但是常数大显然不一定跑得过暴力 于是我们就暴力吧(雾#pragma GCC optimize(2...

2017-08-13 22:27:26

阅读数:190

评论数:0

[美团 CodeM 复赛]配对游戏

题目描述有 nnn 个人排成一排,一开始全部面向前方,然后随机朝左或是朝右转。然后我们不断审查这个队列,每次选择两个面对面的相邻的人,将他们从队列中取出。例如(> 表示向右,< 表示向左):队列 >>><<< 的消除过程为,>>>&...

2017-07-10 10:58:36

阅读数:321

评论数:0

小R打怪兽

题目描述推式子首先我们设Bi=max(A−Di,1)B_i=max(A-D_i,1) ∑mi=1∑Xj≤Hj≤Yj[∑nj=1[⌈HjBj⌉≤i]≥k]\sum_{i=1}^m\sum_{X_j\leq H_j \leq Y_j}[\sum_{j=1}^n[\lceil\frac{H_j}{B_...

2017-07-10 10:32:17

阅读数:207

评论数:0

流浪

题目描述DP考虑每个位置的贡献。 枚举一个位置,然后做dp,我们需要处理从(0,0)走k步到这个位置的方案数(中途不到达这个位置),以及从这个位置开始走k步到某个位置的方案数(中途不到达这个位置),以及从这个位置开始走k步中途不到达自己的方案数。 然后再做dp,从(0,0)走j步到达这个位置且...

2017-07-07 16:56:11

阅读数:208

评论数:0

容器

题目描述DP用括号表示一段区间。 设f[i,j,k]表示做到第i个位置,目前未被匹配的左括号有j个,还有k只跳蚤没有左括号。 转移可以直接枚举这个位置放多少右括号以及下一个位置放多少左括号,乘上对应组合数。#include<cstdio> #include<algorithm...

2017-07-07 16:49:15

阅读数:205

评论数:0

呵呵

题目大意n个点,i和j之间有wi*wj条边。 图中任一生成树的贡献记为每个点的度数积。 求所有生成树贡献和。prufer序富榄题解#include<cstdio> #include<algorithm> #define fo(i,a,b) for(i=a;i<=b...

2017-07-01 17:20:50

阅读数:147

评论数:0

哈哈

题目大意DP容易发现满足那两个条件就是说不存在低谷。 设g[i,j,0/1]表示[i,j]是最后一次操作的,其中是递增还是递减的最大得分,由于相邻两项差1可以直接得到长度。 设f[i,j]表示操作掉[i,j]的最大得分,有两种转移。 f[i,j]=f[i,k]+f[k+1,j]f[i,j]=...

2017-07-01 17:07:32

阅读数:225

评论数:1

[JZOJ100020]B

题目大意有多少n*n的01矩阵每行每列恰有2个1。推式子设a(n)表示答案。 每次新加一行一列,你找到一行,把最后一行和它换,并在最后一列这行的位置写上1。 然后再找一行,在最后一列这写1,并找到之前一个位置的1把它翻到只有一个1的那行。 这样是n*(n-1)*a(n-1)。 你发现有种情...

2017-06-26 16:43:33

阅读数:227

评论数:0

[hihocoder1527]快速乘法

题目描述在写代码时,我们经常要用到类似 x × a 这样的语句( a 是常数)。众所周知,计算机进行乘法运算是非常慢的,所以我们需要用一些加法、减法和左移的组合来实现乘一个常数这个操作。具体来讲, 我们要把 x × a 替换成:(x<<a0)op1(x<<a1)op2(x&...

2017-06-26 15:58:32

阅读数:431

评论数:0

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