
acm
文章平均质量分 78
wwwlps
这个作者很懒,什么都没留下…
展开
-
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 · 249 阅读 · 0 评论 -
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 · 387 阅读 · 0 评论 -
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 · 385 阅读 · 0 评论 -
C++基础-string截取、替换、查找子串函数
1. 截取子串 s.substr(pos, n) 截取s中从pos开始(包括0)的n个字符的子串,并返回 s.substr(pos) 截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回 2. 替换子串 s.replace(pos, n, s1) 用s1替换s中从pos开始(包括0)的n个字符的子串 ...转载 2018-08-14 11:17:48 · 1053 阅读 · 0 评论 -
C.little w and Segment Coverage(区间覆盖问题,差分)
题目链接:https://ac.nowcoder.com/acm/contest/297/C题解:转载于https://blog.youkuaiyun.com/wjmwsgj/article/details/85081068#include<cstdio>#include<iostream>#include<algorithm>#include<cst...转载 2019-01-06 15:28:16 · 210 阅读 · 0 评论 -
贪心(x,2x,轻重搭配)
n个同学去动物园参观,原本每人都需要买一张门票,但售票处推出了一个优惠活动,一个体重为xx的人可以和体重至少为2x2x配对,这样两人只需买一张票。现在给出了nn个人的体重,请你计算他们最少需要买几张门票?输入格式第一行一个整数nn,表示人数。第二行nn个整数,每个整数a_iai表示每个人的体重。输出格式一个整数,表示最少需要购买的门票数目。数据范围...原创 2019-03-15 19:22:11 · 429 阅读 · 0 评论 -
蒜厂年会(一个圆形数组,问最大连续和是多少)思维
转载出处:https://blog.youkuaiyun.com/qq_41410799/article/details/87436835因为求的结果是连续的,所以可能是包含环和不包含环的,包含环的就是sum-minsum,否则maxsum。 这道题也可以建一个2n的序列,然后注意边界。#include <iostream>#include <cstdio>#includ...转载 2019-03-15 21:27:22 · 140 阅读 · 0 评论 -
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 · 221 阅读 · 0 评论 -
炮台实验(期望,贡献值)
蒜头君在玩一个战争模拟游戏,他有高度为1,2,3,\ldots ,n1,2,3,…,n的炮台各一个,他需要把这nn个炮台从左往右排成一行,并且炮口都朝向右边。在这个游戏中,所有炮台发射的炮弹会摧毁前方所有高度比自己低的炮台。每当蒜头君把nn个炮台排成一行后,可能会有一些炮台被摧毁。举个例子:当前有55个炮台,从左到右高度分别为2,1,3,5,42,1,3,5,4,往右发射炮弹...原创 2019-03-17 11:22:29 · 367 阅读 · 0 评论 -
传染病控制(暴力dfs,超时了)
问题 1495: [蓝桥杯][算法提高VIP]传染病控制时间限制: 1Sec 内存限制: 128MB 提交: 37 解决: 7题目描述近来,一种新的传染病肆虐全球。蓬莱国也发现 了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延。不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒 携带者,更没有研制出疫苗以保护易感人群。于是,蓬莱国的疾病控...原创 2019-03-18 14:56:48 · 424 阅读 · 0 评论 -
高精度乘法(模板)
好久没写过这个模板了水一发,注意细节。两个正整数相乘,(长度均小于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 · 438 阅读 · 0 评论 -
牛客网 balls (组合计数,打表,得到规律)
链接:https://ac.nowcoder.com/acm/contest/272/C来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述有一个盒子,里面有一个黑球和一个白球。每次随机取出盒子中的一个球,并将两个与取出球同色的球放进盒子(就是随机一种颜色将其个数+1...原创 2019-03-13 17:47:12 · 226 阅读 · 0 评论 -
D.little w and Exchange(思维)
题目链接:https://ac.nowcoder.com/acm/contest/297/D#include<iostream>#include<cstring>#include<string>#include<cstdio>#include<cmath>#include<algorithm>#include...原创 2019-01-06 15:25:54 · 173 阅读 · 0 评论 -
codeforces D. Mysterious Crime(思维,公共子串)
题目:http://codeforces.com/problemset/problem/1043/D求m个长度为n的序列(序列都是1到n的全排列之一),有多少个公共子串题解:n的范围1e5,m的范围10,可以对每一个序列预处理求出每个字符后面的字符,nextz[i][a[i][j-1]]=nextz[i][a[i][j]],以第一个序列为基准,取一个数组fw[maxn],计算每一个位置的贡...原创 2018-11-12 18:56:17 · 278 阅读 · 0 评论 -
Wannafly挑战赛28 B.msc和mcc(字符串、思维、预处理)
题目:https://ac.nowcoder.com/acm/contest/217/B一段区间存在两个不重叠的序列,问有多少个区间题解:先写出这两个序列的8中排列情况,然后预处理字符串,用nextz[x][y]表示下标为x的字符后面第一次出现y的位置,然后暴力枚举每一个x(1到n),找到符合条件(8中排列之一)的相对最短的y,最后累加ans+=n-posy+1;#include&l...原创 2018-11-11 14:30:09 · 356 阅读 · 0 评论 -
codeforces D. Walking Between Houses(思维+贪心)
题意:给出n,k,s,初始位置为1,在x坐标轴上可到达的最远位置为n,问恰好走k步能否使得所走距离的和刚好等于sD. Walking Between Housestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outpu...原创 2018-08-15 10:47:11 · 366 阅读 · 0 评论 -
hdu 1221 Rectangle and Circle(判断矩形与圆是否相交)
题目有点坑,坑了我好多点,由于自己考虑问题的方面不是很全,没有找到一个科学的判断方法,会漏判好多情况自己ac了此题之后,看了下别人的博客思路大致如下:分析: 我们只要求出圆心到矩形的最短距离L和圆心到矩形的最长距离R.如果L>r(r为圆半径),圆肯定与矩形不相交.如果R<r,圆包含了矩形,依然与矩形不相交.如果L<=r且R>=r,那么...原创 2018-08-15 16:51:58 · 1695 阅读 · 0 评论 -
hdu 1238 Substrings(暴力+string类方法)
题意:求n个字符串的最长公共子串的长度,注意,公共子串翻转后也算同一公共子串题解:字符串长度<=100,n<=100,t<=10,可以用暴力枚举,一开始我用map去记录每一个字符串的所有子串,最后比较一下最大值发现超时了,后来才知道,可以以最小长度的那个字符串来枚举所有字符串详见代码:#include<cstdio>#include<cstr...原创 2018-08-16 11:43:45 · 225 阅读 · 0 评论 -
2018南京网络赛 j题 sum(筛法、非平方数相乘)
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#include<vector>#include<map>#include<stack>#includ原创 2018-09-05 15:44:36 · 273 阅读 · 0 评论 -
Wannafly挑战赛23 A 字符串(最短区间长度包含所有的小写字母)
https://www.nowcoder.com/acm/contest/161/A题解:这道题用到了尺取法(双指针),一个数( l )记录区间的开始,一个数( r )记录末尾,先移动末尾( r ),满足条件后移动开始(缩小区间,就是那个while循环)所以每次让 r 右移,如果最左边的出现过就让( l )右移,如果得到了 num = 26 就可以更新答案代码如下:...原创 2018-09-07 16:36:13 · 362 阅读 · 0 评论 -
codeforces D. Nature Reserve(三分搜索+公式)最小圆覆盖问题
转载自https://blog.youkuaiyun.com/qq_38891827/article/details/82965187题意给你一些二维平面上的点,找一个与x轴相切的半径最小的圆包含所有点。做法首先如果两边都有点的情况一定是找不到这样的圆的,否则一定可以找到这样的圆首先如果两边都有点的情况一定是找不到这样的圆的,否则一定可以找到这样的圆 首先如果两边都有点的情况一定是找不到这样的...转载 2018-10-10 16:58:12 · 507 阅读 · 0 评论 -
Wannafly挑战赛26-B 冥土追魂(贪心?思维?模拟?)
转载出自 https://blog.youkuaiyun.com/c_13579/article/details/83039005贪心不行,数学思维寻找它的选取规律#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<queue...转载 2018-10-17 14:45:16 · 205 阅读 · 0 评论 -
year,month,day(转换字符串,验证回文)
int t=year*1000+month*100+day;这样就将yyyy-mm-dd的形式转换成一个数,小技巧原创 2018-11-09 18:31:04 · 1003 阅读 · 0 评论 -
2018icpc青岛现场赛 F题(思维,倍增,块交换)
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4063对于n的大小,对战轮数有规律可循,k<(n&-n)方可分配方案,其余Impossible.#include<cstdio>#include<cstring>#include<iostream>#in...原创 2018-11-07 17:55:19 · 618 阅读 · 1 评论 -
差分数组(模板)
差分数组一般用来解决区间问题,如n条线段,计算每一个点的覆盖次数,或者说,操作某个区间加上一定值,然后询问,都可以方便处理。以下内容转载:https://www.cnblogs.com/COLIN-LIGHTNING/p/8436624.html...原创 2019-03-22 20:15:27 · 666 阅读 · 0 评论 -
牛客 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 · 164 阅读 · 0 评论 -
牛客 小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 · 407 阅读 · 0 评论 -
牛客练习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 · 415 阅读 · 0 评论 -
求区间内出现次数大于等于2的数的个数,求区间内不同数的个数(树状数组+离线预处理)
https://blog.youkuaiyun.com/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 · 591 阅读 · 0 评论 -
求区间内出现次数恰好为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 · 2235 阅读 · 0 评论 -
ECNU 1029. 走道铺砖 (状压dp)
单点时限:5.0 sec内存限制:256 MB有一个专门为装修设计方案的法国著名设计师。最近,他接到一个项目,为华东师大理科大楼设计走道的地砖铺设方案。此项目的委托人事先便进行了说明:地砖只有 12 一种规格,而整栋楼中同类走道又有许多个,他不想其中有任何的两个出现重复的设计方案。因此,设计师必须确定其可行性,即对一个 NM(NM 为偶数) 的走道,用 NM/2 块 1*2 的地砖将其...原创 2019-06-22 17:22:01 · 399 阅读 · 0 评论 -
牛客练习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 · 284 阅读 · 0 评论 -
传球问题(思维+数学推理)
原创 2019-06-24 08:45:17 · 5993 阅读 · 0 评论 -
主席树(静态区间查询第k大数)
转载:https://blog.youkuaiyun.com/creatorx/article/details/75446472https://blog.youkuaiyun.com/your_eyes_see_sea/article/details/77801856https://blog.youkuaiyun.com/a_forever_dream/article/details/80450549poj 2104...转载 2019-06-24 19:54:51 · 508 阅读 · 0 评论 -
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 · 187 阅读 · 0 评论 -
牛客练习赛50 C. tokitsukaze and Soldier (贪心、队列维护)
题目链接:https://ac.nowcoder.com/acm/contest/1080/C题目大意:给出n个士兵,每个士兵有v,s两个属性,分别指个人战斗力和组团限制人数(该士兵所在兵团最大人数值),问如何选择士兵,使得战斗力总和最大?题目解答:可以给士兵按照s从大到小排序,用一个小根堆来贪心维护战斗力总和,通过遍历士兵,不断地调整小根堆(优先队列)。(大局上是枚举不同的s,确保从大到...原创 2019-09-02 17:32:21 · 180 阅读 · 0 评论 -
小数转化为分数
直接转载了出自:https://blog.youkuaiyun.com/qq1013459920/article/details/81124577转载 2019-06-21 09:02:52 · 2261 阅读 · 0 评论 -
ECNU 3306. 有钱人买钻石 (贪心+dfs)
3306. 有钱人买钻石题面统计数据讨论单点时限:2.0 sec内存限制:256 MB有一个有钱人,他身上带了好多硬币。但是这么多硬币由不方便带,所以他决定要用这些硬币去买钻石。有趣的是,店里只剩下一颗钻石了。这颗钻石的价格是P。他身边由一元硬币N1枚,五元硬币N2枚,十元硬币N3枚,二十五元硬币N4枚。这些硬币都是一样重的。有钱人当然希望花的硬币越重越好...原创 2019-06-20 20:39:19 · 1185 阅读 · 1 评论 -
牛客 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 · 185 阅读 · 0 评论 -
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 · 401 阅读 · 0 评论