
—————模板—————
文章平均质量分 65
w4149
无
展开
-
BZOJ 2815 灾难 (灭绝树)
BZOJ 2815 灾难Description 阿米巴是小强的好朋友。 阿米巴和小强在草原上捉蚂蚱。小强突然想,如果蚂蚱被他们捉灭绝了,那 么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引发一系列的 生态灾难。 学过生物的阿米巴告诉小强,草原是一个极其稳定的生态系统。如果蚂蚱灭 绝了,小鸟照样可以吃别的虫子,所以一个物种的灭绝并不一定会引发重大的灾 难。 我们现在从专业一点原创 2017-11-02 17:16:56 · 413 阅读 · 0 评论 -
BZOJ 1703 Ranking the Cows 奶牛排名 (传递闭包)
1703: [Usaco2007 Mar]Ranking the Cows 奶牛排名Time Limit: 5 Sec Memory Limit: 64 MB Description农夫约翰有N(1≤N≤1000)头奶牛,每一头奶牛都有一个确定的独一无二的正整数产奶率.约翰想要让这些奶牛按产奶率从高到低排序. 约翰已经比较了M(1≤M≤10000)对奶牛的产奶率,但他发现,他还需要再做一张原创 2017-10-10 21:57:37 · 480 阅读 · 0 评论 -
Gift (单调队列优化dp)
10.10思路: 很明显得状态定义以及转移关系 Dp[i][j]表示前i个人装饰前j个单位能得到的最大魅力度 Dp[i][j]=max(dp[i-1][k]+(j-k)*w);(k+1<=原始位置<=j) 经过变形,可以得到dp[i][j]=max(dp[i-1][k]-k*w)+j*w,对于每一个dp[i][j]来说,j是常量,而k是变量,故将dp[i-1][k]-k*w部分求max,而且原创 2017-10-10 20:54:21 · 303 阅读 · 0 评论 -
gcd 动态维护集合(Mobius)
10.3gcd思路: 用 f(i) 表示 gcd 为 i的数对个数, g(i) 表示 gcd 为 i的倍数的数对个数。那么 f(i)=Σμ(d)g(d) ,我们只需要维护 g(1)~g(max(xi)))。记 s(i) 表示 i的倍数个数,那么 g(i)=s(i)*(s(i)-1)/2,我们只需要在加入删除一个数时枚举它的因数修改s即可。 时间复杂度 O(msqrt(max(xi))%Doggu原创 2017-10-03 20:23:05 · 642 阅读 · 0 评论 -
CodeForces 438D 线段树区间取模
CodeForces 438Ddescription:长度为n的非负整数数列,3种操作 1. 求[L,R]所有数的和。 2. 将[L,R]中所有数都mod x。 3. 将a[i]修改为v。 n,m≤100000input第一行两个整数n,m,表示数列元素个数和操作数 接下来n个数,表示序列 接下来m行,每行开头一个整数表示操作output对于每一个询问操作,输出一个整数表示答案思路:原创 2017-10-02 16:53:31 · 1356 阅读 · 0 评论 -
BZOJ 1433 假期的宿舍 (图论 二分图匹配 匈牙利算法)
BZOJ 1433 假期的宿舍题目 input output Sample Input 1 3 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 Sample Output ˆ_ˆ HINT 对于30% 的数据满足1 ≤ n ≤ 12。 对于100% 的数据满足1 ≤ n ≤ 50,1 ≤ T ≤ 20。思路: 人与座位有着一一对应的关系,自然想到二分图匹配原创 2017-06-07 15:01:22 · 415 阅读 · 0 评论 -
Birthday (背包dp)
10.901背包和完全背包的结合体,可以两个都跑一遍,但是相互关系要搞清楚。 我的做法是这样的, Dp[i][j][0/1]表示前i件商品花费了j的代价的代价时能得到的最多的糖果数,0表示这件商品还没有被买过,1表示这件商品已经买过.dp[i][j+w[i]][1]=max(dp[i][j][1]+a[i],dp[i][j+w[i]][1]); dp[i][j+w[i]][1]=max(dp[原创 2017-10-09 15:48:38 · 255 阅读 · 0 评论 -
CodeVs 1746 贪吃的九头龙 (树型dp 多叉转二叉)
1746 贪吃的九头龙 2002年NOI全国竞赛时间限制: 2 s 空间限制: 128000 KB题目描述 Description 传说中的九头龙是一种特别贪吃的动物。虽然名字叫“九头龙”,但这只是说它出生的时候有九个头,而在成长的过程中,它有时会长出很多的新头,头的总数会远大于九,当然也会有旧头因衰老而自己脱落。 有一天,有M 个脑袋的九头龙看到一棵长有N 个果子的果树,喜出望外,恨不得原创 2017-10-16 21:23:40 · 451 阅读 · 0 评论 -
BZOJ 2037 Sue的小球 (基于未来状态的区间dp)
2037: [Sdoi2008]Sue的小球Time Limit: 10 Sec Memory Limit: 64 MB DescriptionSue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船。然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一个秘密武器,只要她将小船划到一个彩蛋的正下方,然后使用秘密武器便原创 2017-10-17 20:35:24 · 269 阅读 · 0 评论 -
BZOJ 1962 模型王子 (猜数问题 dp)
1962: 模型王子Time Limit: 10 Sec Memory Limit: 64 MB DescriptionInput 输入数据共一行,两个整数N,K,用一个空格隔开,具体意义如题目中所述。Output输出数据共一行,为最少所需要的时间S。Sample Input5 3 Sample Output5HINT对于全部的数据,1 < = K < = 100,1 < = N < =原创 2017-10-17 21:14:16 · 372 阅读 · 0 评论 -
parenthesis 括号匹配 (区间dp)
【parenthesis题解】10.17思路: 经典的括号匹配题目,考虑用动态规划来统计方案数。 不妨有dp(l,r)表示只考虑(l,r)区间的括号序列,最终合法的方案数(允许删空) 转移显然只有两种决策,第l个括号不进行匹配(删除),转移到dp(l+1,r),和第l个括号进行匹配, 直接进行暴力枚举匹配即可。 复杂度O(n3)#include <cstdio>#include <cst原创 2017-10-17 19:24:34 · 302 阅读 · 0 评论 -
shopping 购物 (树型dp)
【shopping题解】10.17思路: 考虑用树上动态规划来解决问题。 设f[u][k]表示以u为根的子树买k个物品的最小花费,且物品u使用了优惠卷; 设g[u][k]表示以u为根的子树买k个物品的最小花费,且物品u不使用优惠卷; 假设v是u的一个儿子结点,那么状态转移方程为: f’[u][i + j] = min(f’[u][i + j], f[v][j] + f[u][i]); f原创 2017-10-17 19:22:19 · 307 阅读 · 0 评论 -
BZOJ 2115 Xor 线性基介绍(高斯消元 xor线性基)
2115: [Wc2011] XorTime Limit: 10 Sec Memory Limit: 259 MB DescriptionInput第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目。 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 Di的无向边。 图中可能有重边或自环。Output仅包含一个整数,表示最大的XOR和原创 2017-09-29 21:59:21 · 342 阅读 · 0 评论 -
BZOJ 5056 OI游戏 (最短路径树)
5056: OI游戏Time Limit: 1 Sec Memory Limit: 64 MB Description小Van的CP最喜欢玩与OI有关的游戏啦~小Van为了讨好她,于是冥思苦想,终于创造了一个新游戏。 下面是小Van的OI游戏规则: 给定一个无向连通图,有N个节点,编号为0~N-1。图里的每一条边都有一个正整数权值,边权在1~9之间。 要求从图里删掉某些边(有可能0条),使原创 2017-09-29 21:00:35 · 574 阅读 · 0 评论 -
BZOJ 2142 礼物 (扩展Lucas)
2142: 礼物Time Limit: 10 Sec Memory Limit: 259 MB Description一年一度的圣诞节快要来到了。每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物。不同的人物在小E 心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多。小E从商店中购买了n件礼物,打算送给m个人 ,其中送给第i个人礼物数量为wi。请你帮忙计算出送礼物的方案数(两原创 2017-09-29 19:48:01 · 333 阅读 · 0 评论 -
facsum (线性筛 积性函数)
facsum10.20思路: 对于式子进行分析,前面的Phi就是一个很常规的转化,变成i^m。后边一个约数个数,一个Mobius,一个单位函数都是积性函数,所以卷起来也就积性啦(不是积性怎么做嘛。。) 于是就上线性筛了。 对于 if(i % prime[j] == 0) 的情况,也就是 f[p^k*c] = f[p^k] * f[c]。 所以我们只用考虑 f[p^k] 如何计算,d就是p^原创 2017-10-20 19:08:44 · 905 阅读 · 0 评论 -
HDU 3472 HS BDC 混合图的欧拉路径判断 (网络流)
HDU 3472 HS BDC 混合图的欧拉路径判断题意:给n个字符串,这些字符串如果某个字符串的尾部字母和另一个字符串的首部字母相等,那么这两个字母就可以连起来,有的字符串可以反转,问是否存在一种情况使得所有字符串都连成一条链。思路: 字符串的首字母–>字符串的尾字母建一条有向边,如果字符串是可反转的,那么就建无向边, 那么问题就转换为: 是否存在一种无向边定向方案,使得这个图中存在这么一原创 2017-10-11 21:54:55 · 518 阅读 · 0 评论 -
BZOJ 3594 方伯伯的玉米田 (二维树状数组优化dp)
3594: [Scoi2014]方伯伯的玉米田Time Limit: 60 Sec Memory Limit: 128 MB Description方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美。 这排玉米一共有N株,它们的高度参差不齐。 方伯伯认为单调不下降序列很美,所以他决定先把一些玉米拔高,再把破坏美感的玉米拔除掉,使得剩下的玉米的高度构成一个单调不下降序列。 方伯伯可原创 2017-10-16 17:07:42 · 357 阅读 · 0 评论 -
对抗博弈 alpha-beta剪枝
h10.14思路: alpha-beta剪枝的经典应用 学习了一发可以参照这篇blog#include <cstdio>#include <iostream>#include <algorithm>#define N 25#define inf 0x3f3f3f3fusing namespace std;const int dx[] = {-1, 0, 1, 0}, d原创 2017-10-15 21:16:18 · 369 阅读 · 0 评论 -
二分图最大匹配翻车记
f10.14思路: 注意到,同行或同列的两个1,无论怎么交换,最终也会同行或同列。而最终的目标有n个不同行同列的1。因此,只要一开始存在n个不同行不同列的1,就一定存在一种交换方式达成题目的要求,否则就无解。行、列看成点,跑二分图匹配检验是否存在完美匹配即可。 之前一直写单边点,单向link。这次翻车了GG 以后还是老老实实地写吧#include <cstdio>#i原创 2017-10-15 21:20:59 · 255 阅读 · 0 评论 -
POJ 1085 Triangle War 博弈 (对抗搜索 alpha-beta 剪枝)
Triangle WarDescription Triangle War is a two-player game played on the following triangular grid: Two players, A and B, take turns filling in any dotted line connecting two dots, with A starting fi原创 2017-10-15 21:13:29 · 565 阅读 · 0 评论 -
分组 (并查集)
分组10.23问题可以转化为,从后往前,选择一段最长的合法区间并分割,重复进行直到完成为止。 从std中收获一种神奇的并查集写法(下面隐藏处),准备研究研究。(按秩合并优化路径压缩??还只有一个数组??看起来就很优)#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmat原创 2017-10-23 20:41:23 · 427 阅读 · 0 评论 -
BZOJ 3566 概率充电器 (树形 概率DP)
3566: [SHOI2014]概率充电器Time Limit: 40 Sec Memory Limit: 256 MB Description著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品——概率充电器: “采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定!SHOI 概率充电器,您生活不可或缺的必需品!能充上电吗?现在就试试看吧! ” SHOI 概率原创 2017-10-13 19:25:49 · 264 阅读 · 0 评论 -
pay 解方程 (exgcd)
10.19思路: exgcd解方程,等差数列求和#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#define LL long longusing namespace std;LL a, b, c;LL x, y;LL gcd(LL aa, LL bb, LL &x, LL &y){原创 2017-10-31 07:48:22 · 311 阅读 · 0 评论 -
CodeVs 2245 股票趋势 (二维线段树 zkw)
2245 股票趋势10.30 时间限制: 2 s 空间限制: 128000 KB题目描述 Description 彭先生任职于证券公司,是一位股票分析师。公司经理认为目前的股票分析软件仍可再改进,希望彭先生再设计一套更准确的软件。近日來,彭先生埋头钻研,他发现过去的研究结果,有人提到,如果能在历史资料中,找到与近期股票走势相近的样型,即可使用此历史样型的交易策略,做为近期的买卖策略。为了验证原创 2017-10-30 20:12:13 · 380 阅读 · 0 评论 -
寿司 (拆环为链 大模拟)
思路: 模拟题,枚举向那个点靠拢。 显然只用考虑一种颜色#include #include #include #include #define LL long long#define N 1000010using namespace std;int len;char s[N];int a[N], cnt, num;LL sum, pos, ans = (1LL 61)原创 2017-10-29 18:33:50 · 373 阅读 · 0 评论 -
BZOJ 1375 Bicriterial routing 双调路径 (二维最短路)
1375: [Baltic2002]Bicriterial routing 双调路径Time Limit: 5 Sec Memory Limit: 64 MB Description来越多,因此选择最佳路径是很现实的问题。城市的道路是双向的,每条道路有固定的旅行时间以及需要支付的费用。路径由连续的道路组成。总时间是各条道路旅行时间的和,总费用是各条道路所支付费用的总和。同样的出发地和目的地,如果原创 2017-10-13 10:52:23 · 599 阅读 · 0 评论 -
BZOJ 2095 Bridges (二分 混合图的欧拉回路)
2095: [Poi2010]BridgesTime Limit: 10 Sec Memory Limit: 259 MB Submit: 1172 Solved: 406 [Submit][Status][Discuss] DescriptionYYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个原创 2017-10-13 08:43:46 · 307 阅读 · 0 评论 -
重量差异 (加权并查集)
重量差异10.11思路: 加权并查集的经典应用。每个点存储它与根节点的重量差,合并与路径压缩时维护一下就好。 离线的按秩合并可能会T掉。。。#include <cstdio>#define LL long long#define N 200010int n, m;int fa[N];LL r[N];char ss[210];int getfather(int x){ if(x原创 2017-10-12 21:50:40 · 569 阅读 · 0 评论 -
POJ 3692 Kindergarten(二分图最大团)
Kindergarten POJ - 3692In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition to that, some girls and boys know each other. Now原创 2017-10-12 20:48:58 · 308 阅读 · 0 评论 -
BZOJ 4950 Mission Improbable (二分图最大匹配)
4950: [Wf2017]Mission ImprobableTime Limit: 1 Sec Memory Limit: 1024 MB Description那是春日里一个天气晴朗的好日子,你准备去见见你的老朋友Patrick,也是你之前的犯罪同伙。Patrick在编程竞赛 上豪赌输掉了一大笔钱,所以他需要再干一票。为此他需要你的帮助,虽然你已经金盆洗手了。你刚开始很不情愿, 因为你原创 2017-10-12 19:41:24 · 1139 阅读 · 0 评论 -
1717(容斥)
1717思路: m-=17之后容斥就好了。#include <cstdio>#include <vector>#include <iostream>#include <algorithm>#define LL long longusing namespace std;int n;LL m, ans = 1, a[510];LL gcd(LL a, LL b){ if(b ==原创 2017-10-06 17:03:50 · 287 阅读 · 0 评论 -
生成树个数(基尔霍夫矩阵)
Problem 2. tcount Input file: tcount.in Output file: tcount.out Time limit: 1 second Mr.H发现了一个无向连通图,它觉得,如果选出一些边来,使得这个图变为一棵树,那么这个边集就非常棒。 现在,Mr. H 想让你帮忙求出有多少个非常棒的边集? Input 第1行,包含2个整数:n m,表示有n个点m条边原创 2017-08-18 20:03:51 · 6327 阅读 · 0 评论 -
历史 (并查集 按秩合并)
历史(history.c/cpp/pas)题目描述 历史学家小A正在研究一个奇怪的王国的历史。当前阶段的任务是研究该国的交通。 根据这个奇怪的王国的史书记载,史书开始记载前这个王国有n个城市(城市从0开始标号),但所有城市之间都没有道路相连。 每一年,在位的国王会修建一条x到y的双向道路,一条道路可能被修建多次,但不会修建起点和终点为同一个城市的道路。 而在这之间,国王会计划进行若干次旅行。原创 2017-08-28 15:54:20 · 1366 阅读 · 0 评论 -
BZOJ 2049 洞穴勘测 (LCT 模板)
2049: [Sdoi2008]Cave 洞穴勘测Description 辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。 经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成, 并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来, 那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴原创 2017-07-21 20:01:54 · 357 阅读 · 0 评论 -
BZOJ 2527 Meteors (整体二分)
2527: [Poi2011]MeteorsTime Limit: 60 Sec Memory Limit: 128 MB DescriptionByteotian Interstellar Union (BIU) has recently discovered a new planet in a nearby galaxy. The planet is unsuitable for colon原创 2017-07-30 16:30:53 · 305 阅读 · 0 评论 -
BZOJ 3998 弦论 (后缀自动机)
3998: [TJOI2015]弦论Time Limit: 10 Sec Memory Limit: 256 MBDescription对于一个给定长度为N的字符串,求它的第K小子串是什么。Input第一行是一个仅由小写英文字母构成的字符串S第二行为两个整数T和K,T为0则表示不同位置的相同子串算作一个。T=1则表示不同位置的相同子串算作多个。K的意义如题所述。Output输出仅一行,为一个数字串原创 2017-07-30 10:12:33 · 337 阅读 · 0 评论 -
hdu 1512 Monkey King (左偏树可并堆 并查集)
Monkey KingTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6170 Accepted Submission(s): 2628Problem Description Once in a forest, there li原创 2017-07-14 21:42:15 · 368 阅读 · 0 评论 -
POJ 2396 Budget (上下界网络流)
BudgetTime Limit: 3000MS Memory Limit: 65536K DescriptionWe are supposed to make a budget proposal for this multi-site competition. The budget proposal is a matrix where the rows represent differ原创 2017-07-14 10:38:20 · 421 阅读 · 0 评论 -
UVA 11478 Halum(差分约束 SPFA判负环)
You are given a directed graph G(V; E) with a set of vertices and edges. Each edge (i; j) that connects some vertex i to vertex j has an integer cost associated with that edge. Dene the operation Ha原创 2017-07-12 17:39:24 · 472 阅读 · 0 评论