当前搜索:

[TCO2014 3B]OnePointNineNine

题目大意现在平面上有n个点,已知有一个常数D。 任意两点的距离要么<=D,要么>=1.99D。 请问有多少点集的子集,满足任意两点距离>=1.99D。n<=1000。解法我们肯定是把距离<=D的点对连边。然后相当于独立集计数。 可以考虑把等价点缩在一起: 两个...
阅读(28) 评论(0)

[Yandex.Algorithm 2018, second qualification round E]Bonsai

题目大意两颗树,有根带标号,儿子有顺序。 你每次操作可以选择一颗树,然后执行二选一: 1、删除一个叶子。 2、将某个节点相邻两个儿子合并,前面那个节点的儿子排在前面,后面那个节点的儿子排在后面。 问至少操作多少次能使得两棵树同构。做法将树用深度序表示。 两棵树同构当且仅当深度序同构。 ...
阅读(39) 评论(0)

[TCO2014]FrozenStandings

题目大意有n个人,每个人有一个数字xix_i。 现在你可以把某些人的xix_i加一。 问一共能造成多少本质不同的排名? 两个人中数字大的排名靠前,数字一样编号小的靠前。做法双关键字让我们非常难受。 考虑设一个大数w,令ri=−xi∗w+ir_i=-x_i*w+i,然后令li=ri−wl_i...
阅读(55) 评论(0)

[2017集训队作业自选题#149]小c的岛屿

前言感觉这题挺棒棒的。题目描述小c有n个岛屿。她为了管理岛上的人,决定让这些岛屿连通。 每个岛屿i有一个概率值pi,和一个友好列表Ai。 小c首先来到了1号岛屿,她会依次执行下面操作: 1、设现在在岛屿x,有px的概率产生一条无向边连接两个随机岛屿,这两个岛屿不会相同,也不会已经有边相连。(...
阅读(363) 评论(0)

[2017集训队作业自选题#107]An unavoidable detour for home

题目大意求满足下列条件的n个点的无向图数量: 它没有重边自环,所有边的权均为1 从1号点到任意点的最短路都是唯一的.设li是从1号点出发到达i号点的最短路长度,你虽然不知道li,但知道li关于i单调不减。 你知道第i个点连了di条边,并发现它们都要么为2要么为3 由于答案可能很大,模10^...
阅读(217) 评论(0)

兔子

题目大意求fib(n) mod 10^9+9=k的最小n。做法我们知道fib(n)=1√5∗[(1+√52)n−(1−√52)n]fib(n)=\frac{1}{√5}*[(\frac{1+√5}{2})^n-(\frac{1-√5}{2})^n] 不妨设两个特征根分别为a和b,注意ab=−1a...
阅读(316) 评论(0)

[arc065f]Shuffling

题目大意一个01字符串。 m次操作,每次将[li,ri]随意排列。 保证li单调不降,问能形成多少不同字符串。简单DP只需对每个左端点求出最远右端点。 然后设f[i,j]表示1~i-1已经确定了,可以任意放置的1还有j个的方案数,转移很简单。#include<cstdio> #...
阅读(296) 评论(0)

[arc064f]Rotated Palindromes

题目大意有多少字符集为k的长度为n的字符串经过旋转可以变成回文串。做法设f[i]表示周期为i的回文串数量。 有f[i]=k(i+1)/2−∑j|i且j<if[j]f[i]=k^{(i+1)/2}-\sum_{j|i且j<i}f[j] 显然border为i的串能旋转出i个字符串。 ...
阅读(127) 评论(0)

[arc066f]Contest with Drinks Hard

题目大意有一些物品,每个买了有代价。 如果存在一个极大区间[l,r]内的物品都被买了,这个区间长度为k,可以获得的收益是k*(k+1)/2。 现在若干次询问,每次问假如修改了某个物品的价格,最大收益是多少?DP先处理出L和R分别表示前缀dp值和后缀dp值,显然dp可以用决策单调性优化。 然后...
阅读(291) 评论(0)

[arc066e]Addition and Subtraction Hard

题目大意一个表达式有+有-,添加一些括号最大化表达式的值。DP首先只会在-号前放左括号。 简单的想法是设f[i,j]表示做完前i个数字,目前还有j个左括号没有匹配右括号。 然后很难发现,j<=2才有意义。#include<cstdio> #include<algorit...
阅读(256) 评论(0)

[arc068f]Solitaire

题目大意将1-n顺序加入双端队列(每次可加头可加尾),再删除(每次可删头可删尾),求有多少种删除序列,使得1是第k个被删的。做法考虑什么样的删除序列存在对应的加入序列且合法。 1、第k个是1。 2、前k个元素能拆分成两个单调下降序列。 3、第k个后的元素每个位置都大于等于后缀最大值或小于等于...
阅读(304) 评论(0)

[2017集训队作业自选题#153]Comb Avoiding Trees

题目大意不想说。DP容易发现如果一颗树左偏次数达不到k-1,就合法。 不妨考虑按dfs序dp: 设f[i,j]表示当前是第i个叶子,从该点往上到根有j-1条左向边。 转移很容易。 良心自选题!#include<cstdio> #include<algorithm> ...
阅读(219) 评论(0)

[arc073f]Many Move

题目大意你有两个整数a和b。 现在n个操作,依次执行,每次给你xi,你选择一个整数y变成xi,代价为|xi-y|。 求做完所有操作的最小代价。做法设f[i]表示做完前i个操作,其中一个整数变成xix_i,另一个变成xi−1x_{i-1}的最小代价。 第一次操作枚举是哪个变成x[1]做两次dp...
阅读(148) 评论(0)

[arc074e]RGB Sequence

题目大意有多少三色序列,满足m个条件,每个条件形如区间颜色种类数为多少。做法设dp,f[i,j,k]表示1~i填完了,除了第i个位置填的颜色,其余两种颜色最后一次填在j和k,然后每次处理右端点挂在i的条件,把不符合条件的状态赋值为0。#include<cstdio> #include&...
阅读(151) 评论(0)

[arc071f]Infinite Sequence

前言怎么这题1000分啊。题目大意一个无穷序列,要求所有大于n的项都和第n项相同。 如果一个位置值为k,接下来k个位置必须相同。 每个位置填1~n的数,求方案数。做法显然相邻两个位置>1后面就全tm一样了。 然后就很tm好做。#include<cstdio> #includ...
阅读(133) 评论(0)

[agc004e]Salvage Robots

前言本题的关键是想到让出口和矩形动,而不是机器人动,只要记录出口的位移矩形,便可以知道哪个区域的机器人已经飞出去了。题目大意一个网格图,有若干机器人,还有一个出口。 操作一系列指令让机器人上下左右,走出矩形就死,进入出口则得救。 最多救多少机器人?DP不妨认为矩形和出口会动。 我们设f[u,...
阅读(310) 评论(1)

[agc002f]Leftmost Ball

前言小清新计数题。题意n种颜色每种颜色有k个球(这n种颜色不含白色),排成一行,把每种颜色第一个球涂成白色。 问颜色序列方案数。DP要求任意后缀0的个数不比颜色种类数多。 不妨设dp表示f[i,j]已经用了i种颜色,放了i-j个0。 每次可以在最前面放0。 也可以新加一种颜色,为了不计重最...
阅读(203) 评论(0)

[agc009e]Eternal Average

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

[agc009c]Division into Two

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

[agc019e]Shuffle and Swap

前言计数水平不行了。 居然不会n^2去dp这个模型。题意太麻烦了看网站。DP假设有x个公用1和y个非公用1。 用图论来理解。 最后一定形成y条链,若干个环。 其中链中的边在序列中要按顺序,环则随意。 环可以先不管。 考虑dp[i,j]表示目前做出来两个i+j的序列,有i个公用1和j个非...
阅读(155) 评论(0)
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 39万+
    积分: 1万+
    排名: 1455
    最新评论
    文章分类