自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

转载 题解 BZOJ1233 【[Usaco2009Open]干草堆tower】

题目链接:LinkProblemSolution不难发现最瘦的塔一定是最高的。将序列翻转后作如下定义:$ f(i) $ = 1~i的草搭成的最小宽度$ g(i) $ = 1~i的草搭成的最大高度$ s(i) $ = 1~i的草搭成的宽度的前缀和则\[ \large f(i)= \min\limits_{ j < i \; \and \; s(i)-s(j) \g...

2019-09-29 21:37:00 162

转载 题解 HDOJ4261 【Estimation】

题目链接:LinkProblemSolution显然不难找到状态转移方程,关键是如何快速预处理出某一段区间的代价。易证对于某个确定的区间,b值就是中位数。在用对顶堆维护时顺带维护当前堆里的元素和即可在 $ O(n^2 log n) $ 内预处理完(15000ms好评)。。。Code//http://acm.hdu.edu.cn/showproblem.php?pid=426...

2019-09-24 21:09:00 234

转载 To do list

刷完《算法竞赛进阶指南》上的dp题转载于:https://www.cnblogs.com/happyZYM/p/11559840.html

2019-09-20 21:00:00 159

转载 题解 POJ2282 【The Counting Problem】

题目链接:LinkProblemSolution这题其实就是一道数位dp的板子题。。。但是我一开始想复杂了。。。莫名其妙WA了。。。拍几万组数据都找不到锅在哪儿。。。心肌梗塞的感觉。。。坑点:a可能大于bCode#include<cstdio>#include<cstring>#include<algorithm>using nam...

2019-09-20 20:00:00 126

转载 题解 POJ2374 【Fence Obstacle Course】

题目链接:LinkProblemSolution显然,如果我们知道从每个地方跳下去会落到哪里,就可以很方便地dp了,于是我们可以用线段树维护区间赋值操作,先预处理出跳到哪里。Code#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#def...

2019-09-18 21:55:00 116

转载 题解 POJ3254 【Corn Fields】

题目链接:LinkProblemSolution这题主要在于预处理出可能的决策以减少不必要的计算。Code#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int mod=100000000;int n,m,can[13],j...

2019-09-17 21:18:00 108

转载 题解 HDOJ2196 【Computer】

题目链接:LinkProblemSolution可以跑出直径的2个端点再来个树上lca这题是经典的二次扫描+换根法,分向上和向下dp2次即可。Code#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace s...

2019-09-17 21:02:00 99

转载 题解 POJ1463 【Strategic game】

题目链接:LinkProblemSolution这题。。。其实就是个很简单的选/不选树形dp,千万别想复杂。。。Code#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;const int ma...

2019-09-16 21:49:00 97

转载 题解 POJ1191 【棋盘分割】

题目链接:LinkProblemSolution显然,我们可以发现,平均值和n都是确定的,因此就可以很愉快地区间dp了。O(170859375)好像过不了诶时间复杂度 $ O(8^5 * 15^2) $ 。一下为本题坑点:每次分割后,都会扔掉一半POJ上double输出用"%f"!!!Code#include<cstdio>#include<c...

2019-09-15 09:56:00 161

转载 题解 POJ2176 【Folding】

题目链接:LinkProblemSolutionA+B型拼接的转移方程很显而易见,因此我们只要知道由循环构成的拼接。可以考虑先预处理出每个数字的位数,然后最小循环节长度可以用kmp $ O(n^2) $ 预处理, $ O(1) $ 求出,由于我不会证最佳循环节长度一定是最小的,$ O(\sqrt n) $ 枚举即可,总时间复杂度 $ O(n^3) $。(当然可以四边形不等式成 ...

2019-09-15 08:38:00 153

转载 题解 CH5E07 【划分大理石】

题目链接:LinkProblemSolution这题好难啊只需要判断能否拼接出sum/2即可,因为剩下的必然也是sum/2。。。然后就可以愉快地多重背包了。。。Code#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int ...

2019-09-14 09:54:00 296

转载 题解 POJ1187 【陨石的秘密】

题目链接:LinkProblemSolution一开始很愉快地想到了一个dp,然后发现AB+C和A+BC这两种情况会重复计数。。。但其实在枚举A+B型时,可以强制令A一定形如(C),这样就可以避免重复计数了。Code#include<cstdio>#include<cstring>#include<algorithm>using n...

2019-09-14 09:35:00 150

转载 题解 POJ1934 【Trip】

题目链接:LinkProblemSolution经过一番尝试,不难找出使用子序列自动机优化的搜索方法,使得不会搜索重复解。但使用如下代码会发现存在一系列不可描述的问题:#include<cstdio>#include<cstring>#include<algorithm>#include<string>using name...

2019-09-10 21:53:00 161

转载 题解 POJ1952 【BUY LOW, BUY LOWER】

题目链接:LinkProblemSolution序列长度显然可以很简单地求出,至于个数,在不考虑重复的情况下,若更优则覆盖,相同则累加。考虑重复的情况,设i<=j,a[i]=a[j],显然在计算j的时,不能从i之前转移,且对序列长度无贡献,因此可用tag来维护一下,倒序枚举决策即可。Code#include<cstdio>#include<cstr...

2019-09-09 21:55:00 124

转载 TIM bug 总结以及应对方案

持续更新中。。。QQ服务独立密码的验证死活通过不了症状描述你会发现QQ服务独立密码的验证死活通过不了,改了密码也没用,总是显示这个玩意儿:触发条件已验证独立密码,且中途突然更换密码发生异常,需要重新验证其它未知状况解决方案先换一种同步方式(比如我需要先换成7天)。它会弹出一个窗口要求验证独立密码,输入正确的密码即可验证通过。用类似1~2的步骤再换回你需要的设置...

2019-08-24 09:02:00 750

转载 题解 POJ3171 【Cleaning Shifts】

题目链接:LinkProblemSolution一个很直观的想法是设 $ f(x) $ 表示覆盖[L,x]需要花费的最小代价。为避免后效性,可将奶牛右端点排序。设当前奶牛为 $ [L,R],c $ ,则状态转移方程为:\[ f(R) = \min\limits_{L-1 \le x \le R} \{ f(x) \} + c \]观察到这个dp过程事实上是在不断地在f数组里...

2019-08-22 09:41:00 152

转载 第一次打CF的经历

某天我突然心血来潮,打算打一场CF(Codeforces Round #581 (Div. 2)),和lbn约好后register了。顺带恶补了一大堆CF攻略-8H主站卡的yapi,有点慌。。。-7H弄好一堆东西后搞文化课去了。。。-20minlbn突然说他熬不动了。。。突然发现有10000+个人报名,感觉会被分到一堆大佬中间。。。补一下文化课作业散散心比赛中瞬间找到...

2019-08-20 14:54:00 149

转载 题解 UVA12304 【2D Geometry 110 in 1!】

题目链接:LinkSolution第一次过计算几何黑题,写篇题解纪念一下。问题一:详见代码问题二:详见代码问题三:很简单的问题,不会去看蓝书问题四:由于半径为r,圆心到直线的距离一定为r,满足该条件的点的轨迹是两条直线。而想要过定点,圆心到该点的距离也一定为r,满足该条件的点的轨迹是一个圆。求出三条合法的轨迹的交点即可。问题五:解法类似,每条直线向两侧平移r,得到的四条直...

2019-08-19 22:31:00 119

转载 题解 UVA11731 【Ex-circles】

题目链接:LinkSolution作为蒟蒻的我在CSDN上找了篇题解借鉴了一下 原文,我这篇题解算是对原题解的补充说明。#include<cstdio>#include<cmath>const double pi=acos(-1.0);double area(double a,double b,double c){//在知道三边的情况下用海伦公式求面...

2019-08-19 22:30:00 100

转载 题解 UVA11270 【Tiling Dominoes】

题目链接:LinkSolution记忆化动态规划 什么鬼这题是一道典型的插头DP(轮廓线动态规划),由于如果不记录轮廓线无法转移且m和n中至少有一个不超过10,所以可以用二进制编码将轮廓线计入状态,详细推导过程见《算法竞赛入门经典训练指南》P384。这是裸的插头DP:#include<cstdio>#include<cstring>#include&...

2019-08-19 22:27:00 155

转载 题解 UVA1449 【Dominating Patterns】

题目链接:LinkSolution这题是典型的AC自动机,一个小优化是把所有不存在的边补上,使得所有的转移一视同仁,减少while语句来常数优化。贴代码:#include<cstdio>#include<cstring>#include<queue>#include<map>using namespace std;cons...

2019-08-19 22:26:00 120

转载 题解 UVA1298 【Triathlon】

题目链接:LinkSolution这题的主要思想就是数形结合。设比赛总长度为1,其中游泳长度为x,自行车长度为y,赛跑长度为 1-x-y,则选手i打败选手j(非并列)的条件是 \(\dfrac{x}{v_i}+\dfrac{y}{u_i}+\dfrac{1-x-y}{w_i}<\dfrac{x}{v_j}+\dfrac{y}{u_j}+\dfrac{1-x-y}{w_j}\)...

2019-08-19 22:24:00 111

转载 题解 UVA10084 【Hotter Colder】

题目链接:LinkSolution每次询问都能得到一个半平面,它们的并就是可能的区域(别忘了考虑房间的边界),特判一下“Same”就行了。贴代码:#include<cstdio>#include<cstring>#include<cmath>#include<vector>#include<algorithm>...

2019-08-19 22:17:00 129

转载 题解 UVA1401 【Remember the Word】

题目链接:LinkSolution第一次写Trie,写篇题解纪念一下......令d(i)表示从字符i开始的字符串(即后缀 S[i...L-1])的分解方案数,则d(i)=sum{d(i+len(x)) | 单词x是 S[i...L-1]的前缀}。显然,关键点就在判断前缀上。可以把所有的单词组织成Trie,然后试着在Trie中查找S[i...L-1],每找到一个单词节点,就状态转...

2019-08-19 22:16:00 118

转载 题解 UVA1210 【Sum of Consecutive Prime Numbers】

题目链接:LinkSolution由于素数都是正数,因此可以把素数预处理成一个队列,每次都尽量往上加。这样就可以用O(n)的时间算出方案数。#include<cstdio>inline bool isp(int a){ for(int i=2;i*i<=a;i++) if(a%i==0) return false; return...

2019-08-19 22:15:00 109

转载 题解 UVA1077 【The Sky is the Limit】

题目链接:LinkSolution这题坑了我很长时间。。。血篇题解纪念一下。。。如果枚举每一条线段并计算它露出的部分会非常麻烦,可以考虑把这个地图分割成一些薯条竖条,使得每个区域内露出的部分无交点,显然按照线段交点的x坐标分割比较好。于是,我们得出了如下代码:#include<cstdio>#include<cmath>#include<al...

2019-08-19 22:14:00 124

转载 题解 POJ3045 【Cow Acrobats】

题目链接:LinkProblemSolution首先,我们可以发现:交换相邻的两头奶牛,对其它奶牛的危险值没有影响。设这两头奶牛分别为\((s_1,w_1),(s_2,w_2)\),之前所有奶牛的体重和为\(sw\),则1放在2前面更优意味着:\[ max(sw-s_1,sw+w_1-s_2) < max(sw-s_2,sw+w_2-s1) \]继续化简:\[ max...

2019-08-19 22:11:00 85

转载 题解 UVA12569 【Planning mobile robot on Tree (EASY Version)】

题目链接:LinkSolution做这题时一开始我想用IDA*,后来发现需要判断是否有解,便改用状态压缩bfs。事实上,移动时石头和机器人是一样的,所以可以很容易的压缩到一个变量里,判重时可以将树的状态(压缩过)和机器人的位置分两个维度。代码如下:#include<cstdio>#include<cstring>using namespace std;...

2019-08-19 22:03:00 115

转载 题解 UVA11795 【Mega Man's Mission】

题目链接:LinkSolution小心溢出! 小心溢出! 小心溢出!这道题是一个很典型的状压DP,唯一要注意的是要小心溢出。刷表法:#include<cstdio>#include<cstring>using namespace std;const int maxn=16;int T,n;int wep[1<<maxn];long...

2019-08-19 21:59:00 65

转载 题解 UVA11404 【Palindromic Subsequence】

题目链接:LinkSolution这题的状态转移方程很容易想出(分同时去掉、去头、去尾三种情况),但字典序最小不好处理。我是在状态转移的同时计算答案,没想到string居然没有炸掉....贴代码:#include<cstdio>#include<cstring>#include<string>#include<algorithm&g...

2019-08-19 21:58:00 67

转载 题解 UVA10213 【How Many Pieces of Land ?】

题目链接:LinkSolution紫书上的思路很容易理解,但时间复杂度太高。在网上搜了半天终于在维基百科上搜到了O(1)算法。以下证明过程摘自维基百科:即答案为 (n*n*n*n-6*n*n*n+23*n*n-18*n+24)/24由于 0≤n≤2^31,需要高精度。c++代码如下:#include<iostream>#ifndef BIGINT#defi...

2019-08-19 21:57:00 91

转载 题解 UVA1603 【Square Destroyer】

题目链接:LinkSolution废话不说,先贴代码.....#include<cstdio>#include<cstring>int n,m,maxd,cnt,sum;int FullSize[625],Size[625];bool sti[65],in[625][65];inline int getc(int r,int c)// | 竖线...

2019-08-19 21:56:00 169

转载 题解 UVA1428 【Ping pong】

题目链接:LinkSolution令 \(x_i\) 表示从 \(a_1\) 到 \(a_{i-1}\) 中比 \(a_i\) 小的数的个数, \(y_i\) 表示从 \(a_{i+1}\) 到 \(a_n\) 中比 \(a_i\) 小的数的个数,则答案等于 $\sum_{k=1}^N x[i](n-i-y[i])+(i-x[i]-1)y[i] $可以用树状数组动态维护。贴代码:...

2019-08-19 21:54:00 81

转载 题解 UVA1309 【Sudoku】

题目链接:LinkSolution第一次写DLX,写篇题解纪念一下……o(* ̄▽ ̄*)o这题是一个典型的精确覆盖问题,每一行、每一列、每一个小方格都要有对应的数字,因此可以直接套模型,详细解释见代码:#include<cstdio>#include<cstring>#include<vector>#include<cassert&...

2019-08-19 21:53:00 151

转载 题解 UVA1262 【Password】

题目链接:LinkSolution首先,先按列处理出所有合法的字母,按字典序排列。注意!有可能会有相同的字母!接下来,从左到右计算应该选那个字母(无解的情况预处理一下就行了)#include<iostream>#include<vector>#include<cstring>#include<algorithm>#incl...

2019-08-19 21:52:00 74

转载 题解 UVA1103 【Ancient Messages】

题目链接:LinkSolution首先,用一个表来解决输入问题(也可以动态生成)。通过观察我们可以发现:每一个字符中的“白洞洞”的个数都不一样,因此可以用dfs数出每一个黑的联通块(字符)中的白洞洞的个数,加以区分。细节得特别注意,代码如下:#include<cstdio>#include<cstring>//#include<conio.h&...

2019-08-19 21:51:00 101

转载 题解 UVA307 【Sticks】

题目链接:LinkSolution做这题时我借鉴了某一大佬的博客:传送门。在这里我就把原文解释一下(详见代码):#include<cstdio>#include<cstring>const int N=70;int n,cnt,tot,maxn,minn,tm[N]; bool ok;void dfs(int need,int sum,int g...

2019-08-19 21:50:00 115

转载 题解 POJ2185 【Milking Grid】

题目链接:LinkProblemSolution显然,最终的划分方法在每一行中都必须满足。求最小循环节是KMP的基本应用之一,我们可以O(nm)求出每一行、每一列的最小循环节长度,分行和列求出它们的lcm,最终再乘起来即可。注意:如果取lcm的时候发现值已经大于等于原来的长度了,就不用考虑循环了。Code#include<cstdio>#include&lt...

2019-08-19 21:46:00 102

转载 初中语文古诗词作者生平归纳

注:以下内容大量摘自各类百科、书籍,不接受任何有关版权的质疑/要求。这篇文章会持续更新陆游生平陆游(1125年—1210年),字务观,号放翁,汉族,越州山阴(今浙江绍兴)人,尚书右丞陆佃之孙,南宋文学家、史学家、爱国诗人。陆游生逢北宋灭亡之际,少年时即深受家庭爱国思想的熏陶。宋高宗时,参加礼部考试,因受秦桧排斥而仕途不畅。宋孝宗即位后,赐进士出身,历任福州宁德县主簿、敕令...

2019-08-19 21:44:00 825

转载 坑点总结

矩阵不一定满足欧拉定理,但满足指数循环节定理(即拓展欧拉定理)如果DFS中的可持久化只需要回退操作,那么可以直接利用系统栈来维护可回退化来降低时间、编程复杂度基于长链剖分的子树合并是O(n)的图论题千万要区分“边id”和“点id”,别敲错变量名“求[1,n]的一个排列P,使其在满足限制函数f的情况下,从小到大依次考虑每个数让其尽量靠前”不是字典序最小,而是反向字典序最大注意逆...

2019-08-19 21:39:00 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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