自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 洛谷 P1063 能量项链

题目传送门解题思路:一道很模板的环形dp,要注意状态转移时串的头和尾到底是哪个.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 int n,a[202],f[202][202],ans; 7 8 int mai...

2019-09-25 20:39:00 209

转载 洛谷 P4342 [IOI1998]Polygon

题目传送门解题思路:一道环形dp,只不过有个地方要注意,因为有乘法,两个负数相乘是正数,所以最小的数是负数,乘起来可能比最大值大,所以要记录最小值(这道题是紫题的原因).AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 5 us...

2019-09-25 20:35:00 253

转载 洛谷 P2722 总分 Score Inflation && 完全背包模板

题目传送门解题思路:补一个完全背包的模板,跟01背包十分相似,唯一不同在于重量j的枚举顺序.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 int m,n,v[10004],w[10004],f[10004]; 7 ...

2019-09-19 22:02:00 236

转载 洛谷 P1077 摆花

题目传送门解题思路:用f[i][j]表示摆到第i种花,一共摆了j盆的方案数.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 int n,m,o; 7 int f[101][101]; 8 int main()...

2019-09-16 20:26:00 137

转载 洛谷 P1731 [NOI1999]生日蛋糕 && POJ 1190 生日蛋糕

题目传送门(洛谷) OR 题目传送门(POJ)解题思路:一道搜索题,暴力思路比较容易想出来,但是这道题不剪枝肯定会TLE.所以这道题难点在于如何剪枝.1.如果当前状态答案已经比我们以前某个状态求出来的答案还要大,那么我们就没有必要搜下去,直接return.2.如果有某个状态,在这之后假设所有答案都是最优,还比我们当前已经求出来的最小值大,那么哇哦们也没有必要搜下去,re...

2019-09-09 22:58:00 224

转载 POJ 1011 Sticks

题目传送门//原址有中文翻译解题思路:求出总长度sum和小棒最长的长度max,则原棒可能的长度必在max~sum之间,然后从小到大枚举max~sum之间能被sum整除的长度len,用dfs求出所有的小棒能否拼凑成这个长度,如果可以,第一个len就是答案。下面就是关键的了,就是这道题dfs的实现和剪枝的设计:1.以一个小棒为开头,用dfs看看能否把这个...

2019-09-08 17:36:00 87

转载 POJ 1144 Network(割点)

题目传送门题目中文翻译:Description电话线公司(TLC)正在建立一个新的电话电缆网络。 他们正在连接几个地方编号从1到N的整数。 没有两个地方有相同的号码。 这些线路是双向的,并且总是将两个地方连接在一起,并且在每个地方线路在电话交换机中结束。 每个地方都有一个电话交换台。 从每个地方都有可能通过其他地方的线路到达,但它不一定是直接连接,它可以经过几次交换。 电源不...

2019-09-08 17:29:00 314

转载 求无向图中的割边(桥)

1 inline void tarjan(int x,int edge) { 2 int v; 3 dfn[x] = low[x] = ++tot; 4 for(int i = head[x];i != -1; i = e[i].next) { 5 v = e[i].to; 6 if(!dfn[v]) {...

2019-09-08 11:37:00 120

转载 POJ 2553 The Bottom of a Graph

题目传送门题目中文大意:对于一些点,任意一个点都互相可达,则这些点称为"汇".求每一个"汇"的所有点.解题思路:tarjan求强连通分量,缩点,对于所有没有出度的强连通分量的点,就是答案.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<stack>...

2019-08-31 19:59:00 110

转载 Tarjan求强连通分量模板

1 inline void tarjan(int x) { 2 int v; 3 dfn[x] = low[x] = ++sum; 4 a.push(x); 5 _in[x] = 1; 6 for(int i = head[x];i != -1; i = e[i].next) { 7 v = e[i]....

2019-08-31 18:50:00 72

转载 POJ 2186 Popular Cows

题目传送门题目中文翻译:Description每头牛的梦想就是成为牛群中最受欢迎的牛。在一群N(1 <= N <= 10,000)母牛中,你可以得到M(1 <= M <= 50,000)有序的形式对(A,B),告诉你母牛A认为母牛 B很受欢迎。 由于流行是传递性的,如果A认为B很受欢迎,B认为C受欢迎,那么A也会认为C是受欢迎的,即使这不是输入中有序...

2019-08-31 18:48:00 114

转载 洛谷 P2871 [USACO07DEC]手链Charm Bracelet && 01背包模板

题目传送门解题思路:一维解01背包,突然发现博客里没有01背包的板子,补上AC代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 int n,m,c,w,f[15000]; 7 8 int main() 9 {...

2019-08-15 19:46:00 101

转载 洛谷 P1032 字串变换(map)

题目传送门解题思路:搜索题,因为要求最少次数,用bfs.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<string> 5 #include<queue> 6 #include&...

2019-08-15 19:44:00 157

转载 洛谷 P1025 数的划分

题目传送门解题思路:设F(i,j)为用j个数组成i,答案为F(7,3)的话。一个思路是,对于F(7,3)=不含1的方案数①+含1的方案数②。F(i,j)=a(i,j)+b(i,j)子问题①a(i,j)=F(i-j,j),如其中一个方案2 2 3不含1,则把组成它的j个数都减去1,变成1 1 2的方案,即用3个数组成4.子问题②b(i,j)=F(i-1,j-1),即...

2019-08-14 21:34:00 99

转载 洛谷 P1784 数独

题目传送门解题思路:跟八皇后很相似,区别在于本题不用记录斜线,但是要记录每个宫格,在每个位置上都要填数.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<cstdlib> 4 5 using namespace std; 6 7 int a[...

2019-08-14 21:31:00 221

转载 洛谷 P2360 地下城主

题目传送门解题思路:一道三维的迷宫,bfs即可(因为要求最短步数).读入的时候总是出错,经过twh的耐心教导后,知道如果直接用字符数组读,每行会多读一个回车,直接读字符串就可以避免这个问题.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<queue> ...

2019-08-13 21:41:00 231

转载 洛谷 P1379 八数码难题(map && 双向bfs)

题目传送门解题思路:一道bfs,本题最难的一点就是如何储存已经被访问过的状态,如果直接开一个bool数组,空间肯定会炸,所以我们要用另一个数据结构存,STL大法好,用map来存,直接AC.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<map> 4 #...

2019-08-13 21:37:00 241

转载 洛谷 P1155 双栈排序

题目传送门解题思路:首先考虑只有一个栈的时候如何解决这个问题。就是对于一对位置(i, j)是否能共存三个位置i<j<k存在pk​<pi​<pj​是不可行的,因为pk​需要在pi​与pj​之前出栈,但pi​又需要在pj​之前出栈,那么这就会产生矛盾。我们就将i和j连一条边,如果找到一对i和j不能连边,构不成二分图,输出0;否则...

2019-08-13 21:32:00 90

转载 最长上升子序列(LIS)

1 int dp[MAX_N], a[MAX_N], n; 2 int ans = 0; // 保存最大值 3 4 for (int i = 1; i <= n; ++i) { 5 dp[i] = 1; 6 for (int j = 1; j < i; ++j) { 7 if (a[j] < ...

2019-08-11 17:17:00 63

转载 洛谷 P1970 花匠

题目传送门解题思路:如果选一个点,那么这个点前一个点一定比它小,它后一个点一定比它大.AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 int n,a,ans = 1,now,k; 7 8 int main() ...

2019-08-11 17:09:00 141

转载 POJ 1065 Wooden Sticks

题目传送门解题思路:将w从小到大排序,当w相等时,l较小的在前面,以l为基准求LIS.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 6 using namespace...

2019-08-11 17:05:00 79

转载 洛谷 P1109 学生分组

题目传送门解题思路:贪心AC代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 int n,a[60],num,l,r,ll,rr; 7 8 int main() 9 {10 scanf("%d",&...

2019-08-08 17:06:00 184

转载 洛谷 P1036 选数

题目传送门解题思路:搜索AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 5 using namespace std; 6 7 int n,k,a[21],ans,num; 8 9 bool _prime(int...

2019-08-08 17:04:00 107

转载 洛谷 P1009 阶乘之和

题目传送门2019.8.7Mr^Simon蒟蒻水题T3解题思路:高精度水题AC代码: 1 #include<iostream> 2 #include<bits/stdc++.h> 3 using namespace std; 4 int a[2000]; 5 int b[2000]; 6 int c[2000]; 7...

2019-08-07 17:48:00 149

转载 洛谷 P1359 租用游艇

题目传送门2019.8.7Mr^Simon蒟蒻水题T2解题思路:最短路裸题AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 5 using namespace std; 6 7 int n,a[201][201],...

2019-08-07 17:45:00 107

转载 洛谷 P1194 买礼物

题目传送门2019.8.7,Mr^Simon蒟蒻水题T1解题思路:最小生成树的裸题.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 5 using namespace std; 6 7 int a,b,v,t...

2019-08-07 17:44:00 139

转载 洛谷 P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm

题目传送门解题思路:这道题不怎么会做,所以就看了题解.......首先这题n点n边还连通,那显然这题就是一棵n个树上多了一条奇奇怪怪的边(返祖边),既然只有一条返祖的边,那么也就等价于这棵树上有且仅有一个环.所以直接讨论一个点是否在环上,如果在则答案与它指向点相同,不然就等于它指向点答案+1,具体就直接大力dfs,每个点最多访问一次,故总复杂度为O(n).(这里注意下dfs不...

2019-08-06 16:53:00 131

转载 洛谷 P1396 营救

题目传送门解题思路:跑Kruskal,直到s与t联通,输出最大值AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 5 using namespace std; 6 7 int n,m,s,t,fa[10001],an...

2019-08-06 16:50:00 82

转载 洛谷 P1364 医院设置

题目传送门解题思路:先Floyd一遍,求出每个点到其他任意一个点的距离,再暴力更新以每个点为源点的最短路.这题数据范围好水AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 5 using namespace std; 6 ...

2019-08-06 16:47:00 264

转载 洛谷 P1073 最优贸易

题目传送门解题思路:先吐槽一下,因为本人太弱,狂肝4.5小时才A掉.要是在考场上不就废了本题拿过来,很明显的贪心思路就是在每条1到n的路径上找最大和最小值,然后做差维护答案.然而这样是不对,因为有可能对于一条路径,最小值在最大值后面出现,而这样这条路径上的答案明显不是它们的差值.怎么办呢? 答案就是我们可以对于每个点,注意是每个"点",找1到这个点路径上的最小值,这个...

2019-08-05 22:51:00 121

转载 洛谷 P1111 修复公路

题目传送门解题思路:本题说让任意两个点都可以互相到达,其实就是这n个点连接成一个联通块,一开始有n个联通块,每当有两个原本不在同一联通块的点连在一起,连通块数量减一,直到只剩一块.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 ...

2019-08-05 22:32:00 90

转载 洛谷 P2320 [HNOI2006]鬼谷子的钱袋

题目传送门解题思路:对于每一个数i,我们都可以用i/2来表示,而对于i/2我们可以用i/4表示......(以此类推)举个例子,对于10,我们可以用5 + 5来表示,而5可以用 3 + 2表示,2 可以用1 + 1表示,所以对于10,我们只需要5,3,2,1即可.AC代码: 1 #include<cstdio> 2 #include<iost...

2019-08-05 22:28:00 72

转载 洛谷 P2023 [AHOI2009]维护序列

题目传送门解题思路:一道线段树模板题,没啥好说的.qwqAC代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 long long n,m,p; 7 long long a[100001]; 8 stru...

2019-08-04 22:48:00 71

转载 洛谷 P1341 无序字母对(欧拉回路)

题目传送门解题思路:一道欧拉回路的模板题,详细定理见大佬博客,任意门AC代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 int ans[100000],du[106],n,k = 0x7f7f7f,b[103][103],c...

2019-08-04 22:45:00 120

转载 洛谷 P1330 封锁阳光大学

题目传送门解题思路:我们将整个图的所有点分别染成两种颜色,例如绿色和黄色,我们每选一个点,就将它染成绿色,并将所有与它相连的点染成黄色.在染色过程中,如果发现相邻的两个点是同一种颜色,则说明impossible.如果成功染完全图,就看选绿色更优还是黄色更优.AC代码: 1 #include<cstdio> 2 #include<iostr...

2019-08-04 22:40:00 112

转载 洛谷 P3373 【模板】线段树 2

题目传送门本题相对于模板1多了乘法,但是代码里面加入了要考虑优先级的因素,所以并不是很好写.AC代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 int n,m,p; 7 long long a[1000...

2019-08-03 21:02:00 80

转载 洛谷 P1972 [SDOI2009]HH的项链

题目传送门解题思路:1.按每个要求的区间的右端点排序一下2.树状数组tree[j]维护从1到j区间内不同数字的个数有多少个3.然后用前缀和的思想就好(tree[r]-tree[l-1])AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm&gt...

2019-08-03 20:58:00 120

转载 洛谷 P1113 杂务(vector)

题目传送门解题思路:本题说有些杂务是有前提条件的,而有一个特性就是某个杂务的前提一定在这个杂务前面输入,那么,这个题就瞬间沦为了黄题.对于那些有前提条件的杂务,我们只需要找它的前提条件中最晚完成的那个加上自己的时间就是这个杂务最早完成的时间.再在全部杂务中找最晚的那个,就是答案.AC代码: 1 #include<cstdio> 2 #include&l...

2019-08-03 20:51:00 350

转载 POJ 3249 Test for Job

题目传送门题目中文翻译:Description杜格先生被他的公司解雇了。为了支持他的家庭,他必须尽快找到一份新工作。现在,很难找到工作,因为失业人数不断增加。所以有些公司经常在招聘时使用严格的测试。测试是这样的:从一个源城市开始,你可以通过一些定向道路到达另一个城市。每次到达城市,您都可以赚取一定的利润或支付一定的费用,让这个过程继续下去,直到您到达目标城市。老板会计算你...

2019-08-02 18:00:00 193

转载 POJ 1734 Sightseeing trip(Floyd)

题目传送门题目中文翻译:Description桑给巴尔岛上的阿德尔顿镇有一家旅行社,它已决定为其客户提供除了许多其他名胜之外的景点。为了尽可能地从景点赚取收入,该机构已经接受了一个精明的决定:有必要找到在同一地点开始和结束的最短路线。你的任务是写一个找到这样的路线的程序。镇内有N个交叉点,编号从1到N。同时有M条双向路,编号从1到M。两个交叉点可以由多条道路连接,但...

2019-08-02 17:52:00 321

空空如也

空空如也

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

TA关注的人

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