自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 codeforces D. Make The Fence Great Again(线性二维dp)

传送:https://codeforces.com/contest/1221/problem/D题目:给出一个长度为n的序列,a[1]...a[n],以及各值高度加1的代价,cost[1]...cost[n],要使得序列任意相邻的两个数a[i-1]!=a[i]。求代价最小是多少?思路:通过模拟观察可知每个数的增加值最多为2,用二维dp枚举递推。#include<bits/s...

2019-10-28 10:18:49 193

原创 codeforce C. Save the Nature (前缀、二分)

题目:https://codeforces.com/contest/1223/problem/C注意:二分的写法,容易搞错#include<bits/stdc++.h>#define LL long long#define INF 0x3f3f3f3f3f3f3f3fusing namespace std;const int maxn=200005;const in...

2019-10-25 12:10:17 336

原创 codeforces 两道(dp、思维)(C.Ivan the Fool and the Probability Theory)( E. By Elevator or Stairs?)

传送:https://codeforces.com/contest/1248/problem/C题目:n x m的网格 (10^5),给网格涂上白黑两色,要求一种颜色网格最多有一个相同颜色的网格和它相邻,问总共有多少种涂色方案?答案对10^9取模。思路:说实话,当时没想出来,但知道应该是dp。我们可以从第一行开始考虑。1. 如果第一行有 两个相同颜色格子相邻 的情况,那么与这行相邻...

2019-10-24 17:34:00 327

原创 (10.16 训练)codeforces C. Primes and Multiplication

题目:http://codeforces.com/contest/1228/problem/C题意:就不细述了。题解:对于一个10^9以内的数分解质因数(数量较少),计算每一个质因数在1~n(10^18)每个数的贡献值。假如有一质因数3,n为2828/31 2 1x3 4 5 2x3 7 8 3x3 10 11 4x3 13 14 5x3 16 17 6x3 19 20 7x3 ...

2019-10-16 12:59:35 174

原创 牛客练习赛50 C. tokitsukaze and Soldier (贪心、队列维护)

题目链接:https://ac.nowcoder.com/acm/contest/1080/C题目大意:给出n个士兵,每个士兵有v,s两个属性,分别指个人战斗力和组团限制人数(该士兵所在兵团最大人数值),问如何选择士兵,使得战斗力总和最大?题目解答:可以给士兵按照s从大到小排序,用一个小根堆来贪心维护战斗力总和,通过遍历士兵,不断地调整小根堆(优先队列)。(大局上是枚举不同的s,确保从大到...

2019-09-02 17:32:21 145

原创 D.Roadblocks(次短路)

https://ac.nowcoder.com/acm/contest/945/D#include<iostream>#include<queue>#include<cstring>#include<algorithm>#define INF 0x3f3f3f3f//#define LL long longusing namespa...

2019-07-03 19:45:46 156

原创 牛客练习48 小w的糖果(差分数组+思维)

题目:https://ac.nowcoder.com/acm/contest/923/C题意:n个人排成一排,有三种操作,每一种操作选定位置pos,然后操作[pos,n]区间。第一种,[pos,n]区间的每个人增加一个糖果;第二种,[pos,n]区间的人一次增加1、2、3...;第三种,[pos,n]区间的人一次增加1、4、9、16...。给定m个操作,问最后每个人手里有多少个糖果?题解:...

2019-06-26 12:42:05 256

转载 主席树(静态区间查询第k大数)

转载:https://blog.csdn.net/creatorx/article/details/75446472https://blog.csdn.net/your_eyes_see_sea/article/details/77801856https://blog.csdn.net/a_forever_dream/article/details/80450549poj 2104...

2019-06-24 19:54:51 466

原创 传球问题(思维+数学推理)

2019-06-24 08:45:17 5279

原创 ECNU 1029. 走道铺砖 (状压dp)

单点时限:5.0 sec内存限制:256 MB有一个专门为装修设计方案的法国著名设计师。最近,他接到一个项目,为华东师大理科大楼设计走道的地砖铺设方案。此项目的委托人事先便进行了说明:地砖只有 12 一种规格,而整栋楼中同类走道又有许多个,他不想其中有任何的两个出现重复的设计方案。因此,设计师必须确定其可行性,即对一个 NM(NM 为偶数) 的走道,用 NM/2 块 1*2 的地砖将其...

2019-06-22 17:22:01 339

原创 求区间内出现次数恰好为k次的数的个数(树状数组+区间操作 续)

题目:https://acm.ecnu.edu.cn/problem/3307/代码:#include<bits/stdc++.h>using namespace std;const int maxn=5e5+5;int N,Q;int a[maxn],C[maxn];map<int,int>mp;vector<int>po[max...

2019-06-22 13:05:53 1727

原创 求区间内出现次数大于等于2的数的个数,求区间内不同数的个数(树状数组+离线预处理)

https://blog.csdn.net/Codeblocksm/article/details/52411928https://www.cnblogs.com/zhgyki/p/9361822.html代码1:#include<bits/stdc++.h>#define LL long longusing namespace std;const int m...

2019-06-21 21:04:03 536

转载 小数转化为分数

直接转载了出自:https://blog.csdn.net/qq1013459920/article/details/81124577

2019-06-21 09:02:52 2194

原创 ECNU 3306. 有钱人买钻石 (贪心+dfs)

3306. 有钱人买钻石题面统计数据讨论单点时限:2.0 sec内存限制:256 MB有一个有钱人,他身上带了好多硬币。但是这么多硬币由不方便带,所以他决定要用这些硬币去买钻石。有趣的是,店里只剩下一颗钻石了。这颗钻石的价格是P。他身边由一元硬币N1枚,五元硬币N2枚,十元硬币N3枚,二十五元硬币N4枚。这些硬币都是一样重的。有钱人当然希望花的硬币越重越好...

2019-06-20 20:39:19 1020 1

原创 牛客练习47 DongDong跳一跳 (线段树、思维)

题目:https://ac.nowcoder.com/acm/contest/904/C题意:给n个柱子,每个柱子有高度值,每个柱子上面有鱼干值,给定一个m值,你一开始可以在从任意一个柱子上开始,每次向右跳,跳到的柱子高度满足 其与之前所在柱子高度差绝对值小于等于m,问最后你最大可以拥有多少鱼干?数据范围:1<=n<=200000,1<=m<=500,对于每根柱子的...

2019-06-17 17:00:37 339

原创 单调栈 单调队列

总结一下。单调栈可解决的问题:给定一个序列,O(n)时间内可求出每一个值的左右边界(第一个比它小的值)求最大矩形面积(同理)单调队列可参考:https://blog.csdn.net/ljd201724114126/article/details/80663855可解决的问题:得到当前的某个范围内的最小值或最大值过程:不断地向缓存数组里读入元素,也不时地去掉最老的元...

2019-05-31 11:02:12 120

原创 华华送奕奕小礼物(思维、矩阵、二分)

题目:https://ac.nowcoder.com/acm/contest/894/B#include<cstdio>#include<iostream>#include<algorithm>#include<stack>#include<vector>#include<map>#include<se...

2019-05-29 21:05:13 161

原创 codeforces C. Increasing by Modulo(思维、二分)

题目:给定一个序列,你有这样一种操作:选出若干个数,转换a[i]->(a[i]+1)%m,要求尽可能少的操作次数下将此序列转变为一个非递减序列。题解:我们这样想,如果让你操作x次,在这个规定次数把它转换为一个非递减序列,我们遍历这个序列,在满足非递减的前提下,序列的每个值当然是越小越好,这样才有进一步减少操作次数的空间。由于数据量n^2是不行的,我们可以考虑二分取枚举这个x。我们假设序列...

2019-05-28 22:20:27 225

原创 欧拉线性筛 (模板)

普通模板int cnt=0; memset(book,0,sizeof(book)); book[1]=1; for(int i=2;i<=maxn;i++) { if(!book[i]) { num[cnt++]=i; } for(int j=0;j<cnt&&num[j]*i<=maxn;j++) { book[n...

2019-05-23 11:13:45 110

原创 lowbit x&(-x)

记个小笔记,取lowbit10010&01110=00010

2019-05-21 20:47:01 138

原创 对于C(n,k)*k求和,k从1到n

C(n,k)*k=k*n!/[(n-k)!k!]=n*(n-1)!/[(k-1)!(n-k)!]=n*C(n-1,k-1)1*C(n,1)+2*C(n,2)+3*C(n,3)+.+n*C(n,n)=n[C(n-1,0)+C(n-1,1)+C(n-1,2)+.+C(n-1,n-1)]=n*2^(n-1)

2019-05-16 11:31:15 6023

原创 I. Max answer(单调栈,前缀)

题目:https://nanti.jisuanke.com/t/38228题解:求出每一个数的左右端点(比它大的数),对于正数,直接用该数乘以区间和,对于负数,先求出该区间的最小区间和,再计算,负数的情况可以以该数为中心,先计算左边最小值,再加上右边最小值,即得出包含该数的最小区间和。#include<iostream>#include<cstdio>#inc...

2019-04-26 11:16:15 266

原创 牛客 小A的回文串(最长回文子串,3种写法)

题目链接:https://ac.nowcoder.com/acm/contest/549/B?&headNav=acm1.中间枚举(向两边扩展)2.dp(最外层枚举长度,dp[i][j],i到j区间内的最优解)3.Manacher算法 参考链接(https://www.cnblogs.com/z360/p/6375514.html)附上三个代码:#include &l...

2019-04-16 16:30:14 319

转载 单调栈 (求最大矩形面积,求最大1的矩形面积)

转载:https://blog.csdn.net/hopeztm/article/details/7868581poj 3494 Largest Submatrix of All 1’s#include <iostream>#include <cstring>#include <algorithm>#include <stack>#...

2019-04-15 22:33:15 1370

原创 LeetCode (Weekly Contest 132)

1025.Divisor GameMy SubmissionsBack to ContestUser Accepted:2139 User Tried:2433 Total Accepted:2208 Total Submissions:4268 Difficulty:EasyAlice and Bob take turns playing a game, with Alice...

2019-04-15 17:00:21 103

原创 牛客 43(B 小数点后的第k1至k2位)

https://ac.nowcoder.com/acm/contest/548/B题解:可以自己手动模拟一下,然后你会发现,一个数除的最后一位只与上一位的余有关。所以,不断 *10 然后 %b 就好。但是太慢。。加个快速幂。a*(10,n-1) %b 然后 剩下的 *10再/b 就好#include<bits/stdc++.h>#define MID (l+r)>&g...

2019-04-05 21:27:14 158

原创 牛客 28(E.迎分舞 三分搜索)

https://ac.nowcoder.com/acm/contest/200/E#include<bits/stdc++.h>#define MID (l+r)>>1#define lson step<<1#define rson step<<1|1#define LL long longusing namespace std;c...

2019-04-05 16:23:06 77

原创 牛客 28(B.数据结构 线段树)

https://ac.nowcoder.com/acm/contest/200/B题解:线段树,注意,我一开始的时候写错了,一开始build的时候lazy数组的初始化搞错了,后来又发现在每一次pushdown的时候都要进行乘法和加法两个lazy的判别(之前我是分flag,只对一种判别)。#include<bits/stdc++.h>#define MID (l+r)>...

2019-04-05 15:35:04 128

原创 LCA (模板,HDOJ 2586 How far away? )

多次查询树上两点之间的距离。先预处理bfs,求出树根到各个点的距离和各个点的深度,同时更新f[maxn][20],f(x,k)表示x的2^k辈祖先f(x,0)就是x的父节点。对于任意k,[1,logn], f[x,k]=f[f[x,k-1],k-1]。求lca时,将x,y调整至同一深度,再逐步向上寻找。#include <iostream>#include <...

2019-04-02 17:22:55 99

原创 codeforces (F. Graph Without Long Directed Paths 图染色,dfs)

F. Graph Without Long Directed Pathstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a connected undirected graph c...

2019-04-02 16:10:33 346

原创 PTA L3-002 特殊堆栈(模拟,vector,stack)

题目:https://pintia.cn/problem-sets/994805046380707840/problems/994805053695574016题解:模拟即可,保证每次插入使得数组有序,每次弹出也要使得数组有序,每次PeekMedian,直接输出数组中间值即可,但是用普通的数组模拟前两个操作会超时的,这里我们使用vector保存数据(链式结构比较好维护),并用lower_bou...

2019-03-29 11:10:51 575 1

原创 L2-004 这是二叉搜索树吗?

https://pintia.cn/problem-sets/994805046380707840/problems/994805070971912192本题目是一道涉及二叉搜索树、树的遍历的裸题,模拟即可,可以建树,也可不建。贴个代码:#include <iostream>#include <cmath>#include <cstring>...

2019-03-27 10:25:32 113

原创 差分数组(模板)

差分数组一般用来解决区间问题,如n条线段,计算每一个点的覆盖次数,或者说,操作某个区间加上一定值,然后询问,都可以方便处理。以下内容转载:https://www.cnblogs.com/COLIN-LIGHTNING/p/8436624.html...

2019-03-22 20:15:27 617

原创 小根堆(模板)

#include<bits/stdc++.h>using namespace std;const int maxn=55;int n,a[maxn],heap[maxn];void siftup(int i)//建立小根堆{ int flag=0; if(i==1) return ; while(i!=1&&flag=...

2019-03-22 10:42:33 641

转载 蓝桥杯 传纸条 (动态规划)

http://www.dotcpp.com/oj/problem1611.html题目大意:给一矩阵,两人分别在左上和右下,两人传递纸条,规定左上的人只能向右和向下传递,右下的人只能向左和向上传递,两者路径不能相交,求两条路径的权值总和最大是多少。题目解答:我们转化一下思想,题目中说由左上方到右下方来回,我们可以看作是从左上方找两条不相交的路径到右下方。这里我们可以好比是两个纸条同...

2019-03-22 09:10:12 631

原创 高精度乘法(模板)

好久没写过这个模板了水一发,注意细节。两个正整数相乘,(长度均小于10000),结果代码:(这里还考虑了输入和输出的前导零)#include<bits/stdc++.h>using namespace std;const int maxn=10005;char X[maxn],Y[maxn],A[maxn],B[maxn];char C[maxn*maxn];i...

2019-03-21 19:39:29 388

原创 trie树 (模板)

#include<bits/stdc++.h>#define LL long longusing namespace std;const int maxn=100005;const int maxz=500005;int nex[maxn];string s;int trie[maxn][26];int cnt;int endv[maxn];void build...

2019-03-20 11:18:38 76

原创 哈夫曼树(模板)

4198: [Noi2015]荷马史诗Time Limit:10 SecMemory Limit:512 MBSubmit:2269Solved:1216[Submit][Status][Discuss]Description追逐影子的人,自己就是影子。 ——荷马Allison 最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手...

2019-03-20 10:32:56 357

原创 codeforces 1136D Nastya Is Buying Lunch (贪心+模拟)

题目大意: 给定一个1~n的排列,和m对可以交换的组合(有顺序,1 2的话表示在前面的1可以和相邻的2交换位置,而如果2在前面则不能),问变换之后最后一个数通过可以最大前移多少位。题目解答:嗯......我们先想一下,从后往前看,如果离p[n]最近的满足交换的数是否应该优先换到p[n]的前面(如果可以的话)呢?你想一下,如果前面一个位置下标为i的数换到了位置下标为i+q的地方,i和i+q之...

2019-03-20 09:21:32 186

原创 传染病控制(暴力dfs,超时了)

问题 1495: [蓝桥杯][算法提高VIP]传染病控制时间限制: 1Sec 内存限制: 128MB 提交: 37 解决: 7题目描述近来,一种新的传染病肆虐全球。蓬莱国也发现 了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延。不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒 携带者,更没有研制出疫苗以保护易感人群。于是,蓬莱国的疾病控...

2019-03-18 14:56:48 388

空空如也

空空如也

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

TA关注的人

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