关闭
当前搜索:

BZOJ 5128([Lydsy12月赛]寻找母串-区间dp)

题意:对于一个母串 S,令 T = S,你可以做无限次以下操作:选择 T 中一个位置 (可以是最开头也可以是最末端),往中间插入母串 S,并将新得到的字符串覆盖之前的 T。 比如,假设 S =hello,则你可以如下操作 T: 1. T =hello。 2. T =hhelloello。 3. T =hhelloelhellolo。 4. T =hhehellolloelhellolo。...
阅读(160) 评论(0)

BZOJ 5130([Lydsy12月赛]字符串的周期-最小表示法+kmp)

题意:一个串 T 是 S 的周期,当且仅当存在正整数 k,使得 S 是 T 重复 k 次的前缀,比如 abcd 是 abcdabcdab 的周期。 给定一个长度为 n 的字符串 S,请对于每个 i(1 ≤ i ≤ n),求出 S 长度为 i 的前缀的最短周期的长度 peri,并计算 f(S)=Πni=1perif(S) =\Pi_{i=1}^n per_i 如果这个串是从所有长度为 n,字符集为...
阅读(114) 评论(0)

BZOJ 5123([Lydsy12月赛]线段树的匹配-记忆化搜索)

题意:给定一棵表示 [1, n] 的线段树,请求出它的最大匹配中有多少条边,并求出有多少种最大匹配的方案。显然线段树形态由长度唯一确定,因此可以用(长度,根节点是否和子树的节点匹配)作为状态进行记忆化搜索#include using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i...
阅读(90) 评论(0)

BZOJ 4151([AMPPZ2014]The Cave-树,贪心)

题意:给一棵n个节点的树和m条限制,每条限制形如dis(x,ai)+dis(x,bi)≤didis(x,a_i)+dis(x,b_i)\le d_i,其中dis(a,b)dis(a,b)表示a到b经过的边的个数。问图中是否存在x满足所有限制,有的话输出任意一个合法解,否则输出无解。设x为根。 依次遍历每条限制,如果ai,bia_i,b_i 均在x的子树中且限制不成立,那么x向这2个点的lca到x的...
阅读(177) 评论(0)

BZOJ 5101([POI2018]Powód-kruskal+dp)

题意:在地面上有一个水箱,它的俯视图被划分成了n行m列个方格,相邻两个方格之间有一堵厚度可以忽略不计的墙,水箱与外界之间有一堵高度无穷大的墙,因此水不可能漏到外面。已知水箱内每个格子的高度都是[0,H]之间的整数,请统计有多少可能的水位情况。因为答案可能很大,请对10^9+7取模输出。两个情况不同当且仅当存在至少一个方格的水位在两个情况中不同。 Input 第一行包含三个正整数n,m,H(n*m...
阅读(109) 评论(0)

BZOJ 5100([POI2018]Plan metra-构造法)

有一棵n个点的无根树,每条边有一个正整数权值,表示长度,定义两点距离为在树上的最短路径的长度。 已知2到n-1每个点在树上与1和n的距离,请根据这些信息还原出这棵树。 (2<=n<=500000),1<=d<=1000000解法:考虑1-n这条路径,如果上面没有其它点,说明都在一侧,特判。 否则上面至少有1个点,可以先求出1-n的距离=mini(d1,i+di,n)min_i(d_{1,i}+...
阅读(88) 评论(0)

CCPC FINAL 2017(Inkopolis-基环外向树)

直接对每种颜色建图,维护连通块个数。显然只要保证第i个点在第j个颜色下的度数。 原图是基环外向树,需要额外考虑那条边上的颜色是否全都一样。#include using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i<=n;i++) #def...
阅读(146) 评论(0)

CCPC Final 2017(Fair Lottery-单纯形)

就是一个简单的单纯形。 注意转成对偶会跑得快一点。#include using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i=k;i--) #defi...
阅读(179) 评论(0)

BZOJ 3112([Zjoi2013]防守战线-单纯形)

战线可以看作一个长度为n 的序列,现在需要在这个序列上建塔来防守敌兵,在序列第i 号位置上建一座塔有Ci 的花费,且一个位置可以建任意多的塔,费用累加计算。有m 个区间[L1, R1], [L2, R2], …, [Lm, Rm],在第i 个区间的范围内要建至少Di 座塔。求最少花费。简单的模板题#include using namespace std; #defin...
阅读(126) 评论(0)

NWERC 2017(English Restaurant-期望)

Random groups of sizes between 1 and g people arrive at the restaurant. Each group occupies the smallest table that fits the group, or leaves if there is no such table. Find the average occupa...
阅读(108) 评论(0)

NWERC 2017(Connect the Dots-几何+搜索)

题意:4*4个格点,要求一笔从小到大依次经过这16个点。求使用的最小线段数。暴搜。 考虑任意一条线段一定满足1.斜率为2个不超过20的整数的比值;2.至少经过1个点。 搜索状态为(当前画到了第几个点,斜率方向) 转移为: 在这个点转一下方向, 直接画到下一个点。 画到下一个点,中间转一次方向。#include using namespace std; #de...
阅读(146) 评论(0)

Codeforces Round #450 (Div. 2) 题解

A#include using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i=k;i--) #define Rep(i,n) for(int i=0;i...
阅读(109) 评论(0)

BZOJ 5099([POI2018]Pionek-极角排序)

题意:有n个向量,每个向量可以选择取或者不取,要求选一些向量,使得它们和最大。#include using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i...
阅读(189) 评论(0)

CF 462D(Appleman and Tree-树形dp)

题意:一棵n个节点的树(根为0),树上有一些点是黑色的,你希望删除一个边的集合,使每个剩下的联通块都恰好只有1个黑节点。求方案数。dp[x][0]dp[x][0]表示对于节点i的子树的一个划分,x所在的联通块无黑节点 dp[x][1]dp[x][1]表示对于节点i的子树的一个划分,x所在的联通块有黑节点然后转移,考虑x的每个子树是否与x在同一连通块、#include...
阅读(108) 评论(0)

BZOJ 5085(最大-经典题)

Description给你一个n×m的矩形,要你找一个子矩形,价值为左上角左下角右上角右下角这四个数的最小值,要你最大化矩形(这个矩形的行数和列数都大于1) 的价值。Input第一行两个数n,m,接下来n行每行m个数,用来描述矩形 n, m ≤ 1000Output输出一个数表示答案 Sample Input2 21 23 4 Sample Output1从大到小枚举数, 显然答案的4个点...
阅读(144) 评论(0)

BZOJ 4289(PA2012 Tax-最短路)

给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价。起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边权 N<=100000 M<=200000经典做法:把无向边拆成2条有向边(u,v,w)(u,v,w),边变点建图,(u,v,w1)(u,v,w_1)向(v,l,w2)(v,l,w_2)连max(w1,w2)max(w_1...
阅读(102) 评论(0)

Wannafly挑战赛4 (方程的解-二次剩余)

题目描述 对于一个模意义下的一元二次方程:x^2 + ax + b = 0 (mod p),其中 p 是质数。 每次给定一组 a,b,p,问这个方程有没有整数解,有解输出“Yes”,无解输出“No”。 有 T 组询问。 输入描述: 输入第一行一个正整数T(T≤105T\le10^5 ),表示数据组数。 接下来T行每行三个非负整数a,b,p(0≤a,b<p≤109+70\le a,b\lt...
阅读(176) 评论(0)

EC Final 2015(Suffixes and Palindromes-差分约束)

http://blog.csdn.net/skywalkert/article/details/51731556#include using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i<=n;i++) #define ForkD(i,k,...
阅读(165) 评论(0)

CF 894E(Ralph and Mushrooms-Tarjen)

在一个n*m的白板上有若干8联通联通块,每块必须是字母(H,M,Y) 中的一个,统计白板上各字母出现次数。注意各字母字体相同. 记录特征值。#include using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i<=n;i++) #def...
阅读(111) 评论(0)

2017 ACM Jordanian Collegiate Programming Contest I(Counting Votes-特征值)

在一个n*m的白板上有若干8联通联通块,每块必须是字母(H,M,Y) 中的一个,统计白板上各字母出现次数。注意各字母字体相同. 记录特征值。#include using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i<=n;i++) #def...
阅读(225) 评论(0)
1044条 共53页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:988998次
    • 积分:20336
    • 等级:
    • 排名:第484名
    • 原创:1028篇
    • 转载:16篇
    • 译文:0篇
    • 评论:33条
    博客导航
    文章分类
    最新评论