自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 string查找函数--find()

#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ string s="aaa"; if(s.find("bb")==-1){ cout<<"YES"<&a

2019-01-12 23:26:48 602

原创 把一个vector里的元素全部放入另外一个vector

把一个vector里的元素全部放入另外一个vectorstd::vector<int> src;std::vector<int> dest;dest.insert(dest.end(), src.begin(), src.end()); 

2019-01-12 23:21:25 1079

原创 大数加法

#include <iostream>#include <string>#include <algorithm>using namespace std;string add(string s1,string s2){ string ans=""; int sum,carry=0; for (int i=(int)s1.size(...

2019-01-09 17:13:28 139

原创 Codeforces Round #518 (Div. 2) B LCM

题目题意:a的取值范围为1到10的18次方,b的取值范围为1到10的10次方,给出b的值,求lcm(a,b)/a有多少个不同的值。思路:lcm(a,b)/b-->a*b/(gcd(a,b)*a)-->b/gcd(a,b);因为a可以取到10的18次方,所以只要求出1到b能被b整除的数的个数就好了。比如b的一个因子为3,a可以取3000,333333,3000000000...

2018-10-25 12:41:33 173

原创 POJ-1200 (进制哈希)

题目哈希:按一定的规则把字符串转换为数字,使不同的字符串对应不同的数值;题意:给定一个字符串,其中含有不同的字母数量为m,现在求这个字符串中有多少个长度为n且长的互不相同的字符子串 。举个例子, n=3, m=4 ,字符串 "daababac". 长度为3的不同的子串分别是: "daa"; "aab"; "aba"; "bab"; "bac". 因此, 答案是5.用set会

2018-10-24 17:25:18 284

原创 [Offer收割]编程练习赛80

题目 题目一:模拟即可#include<bits/stdc++.h>#define maxn 100005using namespace std;int cnt[maxn];set<int>S;vector<int>v[maxn];int main(){ int t; cin>>t; while(t...

2018-10-23 00:27:18 229

原创 [Offer收割]编程练习赛79

题目 题目1:题意:给定一个字符串S,每次操作你可以将其中任意一个字符修改成其他任意字符,请你计算最少需要多少次操作,才能使得S中不存在两个相邻的相同字符。思路:从第二个字符往后,如果字符相同ans+1。因为s[i]的改变会对s[i-1],s[i+1]都产生影响,所以若s[i-1]与s[i]相同,改变s[i],那么s[i+1]就不用考虑了。比如aaa,或aab这种情况,改变...

2018-10-20 16:43:14 542

原创 java大数开方

牛顿迭代法:如果一个数的位数为偶数个,那么这个数开方之后就有n/2位;如果一个数的位数为奇数个,那么这个数开方之后就有n/2+1位;比如1000,那么开方后的长度为2.对于10位,我们从1考虑到9,比如:10*10=100<100020*20=400<1000;30*30=900<1000;40*40=1600>1000;所以开方后的数在...

2018-10-20 12:41:10 429

原创 CodeForces - 55D Beautiful numbers(数位DP+离散化)

题目题意:一个数能被其数位上非0的数整除,称为beautiful number;求区间beautiful number数的数目;思路: 能被数位上的每个数整除的话,意思就是该数能被数位上所有非0数的最小公倍数整除。 考虑数位DP,dp[i][j][k],表示第i位,lcm为j,取模后为k。lcm(1,2,3,4...9)=2520,所以dp[20][2520][2520];但是...

2018-10-18 11:21:07 145

原创 HDU 4507(数位DP)

http://acm.hdu.edu.cn/showproblem.php?pid=4507比如 个位为0,1,2,3,5,8,9,十位为1,那么10,11,12,13,15,18,19都是符合要求的;假设ans为2位的情况,temp为一位的情况。结构体中cnt表示的是符合该种情况数的个数,sum表示符合该种情况数的和,ssum表示符合该种情况数的平方和。在dfs至个位的情况时...

2018-10-17 19:49:07 122

原创 HDU-3065 病毒侵袭持续中 (AC自动机)

https://vjudge.net/problem/HDU-3065思路:和普通的自动机区别不大。输入模式串的时候要注意带空格的输入。对于模式串中不在大写字母范围内的可以让他变为‘Z’+1,这样就可以节省空间。在进行查询操作的时候,遇到非大写字母不能if(.....) continue,因为这样就相当于把非大写字母从模式串中去掉了。对于AAA这种情况,可在字典树中加一个cnt计数。第2个A的...

2018-10-14 16:56:50 122

原创 POJ-3252 Round Number(数位DP)

https://vjudge.net/problem/POJ-3252题意:给你2个数a,b,求[a,b]区间中的数满足2进制0>=1的个数. (1≤a<b≤ 2,000,000,000).思路:用数位DP来解决,dp[i][count0][count1],表示搜索到第i位的时候,0与1的数量。记忆化搜索到底的时候如果0的数量大于等于1的数量,就返回1,表示在[a,b]区间存在...

2018-10-10 12:45:46 220

原创 HDU-3852 B-number(数位DP)

https://vjudge.net/problem/HDU-3652题意:给你一个数n,求出含13且能被13整除的数.代码有详细注释#include<bits/stdc++.h>using namespace std;int dp[20][15][3];///dp[i][j][k]i表示位数,j表示mod,k==0,最后一位不是1,k==1,表示最后一位是1,k=...

2018-10-10 12:06:28 141

原创 poj-1463 Strategic game(树状DP入门)

https://vjudge.net/problem/POJ-1463题意:一棵树,放哨兵站岗,如果有一个点放置了兵,那么与其相连的所有点都能被监视,求树的所有点都被监视且放置哨兵数目最少。思路:dp[maxn][2]dp[i][0]表示不选取该点,dp[i][1]表示选取该点。若该点不选取,则其子节点必须都被选取。若该点选取,则应选取min(dp[son][0],dp[son...

2018-10-09 21:27:39 172

原创 poj2342---Anniversary party(树状DP入门)

https://vjudge.net/problem/POJ-2342题意:在一个公司中,每个职员有一个快乐值ai,现在要开一个party,邀请了一个员工就不可能邀请其直属上司,同理邀请了一个人就不可以邀请其的直属员工,问如何使得这个快乐值达到最大。思路:dp[maxn][2];dp[i][0],表示不去,dp[i][1]表示去.设u为i的孩子;dp[i][0]=(i的全部员工的m...

2018-10-09 21:15:01 203

原创 牛客小白赛---郊区春游(状态压缩+floyd)

https://www.nowcoder.com/acm/contest/134/D思路:用二进制该位是否为1表示该点是否走过。状态转移时要注意:当前点一定要走过,下一个点不能走。#include<bits/stdc++.h>#define inf 0x3f3f3f3fint dp[40000][16];///dp[i][j]表示状态为i,并且以j结尾.int d...

2018-10-09 19:53:13 413

原创 HDU---Travelling(三进制状态压缩)

https://vjudge.net/problem/HDU-3001题意:题意:Mr ACMer想要进行一次旅行,他决定访问n座城市。Mr ACMer 可以从任意城市出发,必须访问所有的城市至少一次,并且任何一个城市访问的次数不能超过2次。n座城市间有m条道路,每条道路都有一个费用。求Mr ACMer 完成旅行需要花费的最小费用。如果不能完成旅行,则输出-1。思路:每个点最多只能被访问2...

2018-10-09 19:49:12 175

原创 P2015---二叉苹果树(树状DP+背包)

https://www.luogu.org/problemnew/show/P2015大意:一颗树n个结点,n-1条边。求保留最多m条边后权值最大思路:dp[i][j]表示以i为根节点,保留j-1条边权值最大。(i节点往上还要留一条边与i的父结点相连,所以往下的话只能有j-1条边)#include<bits/stdc++.h>#define maxn 30005usi...

2018-10-09 19:24:10 146

原创 poj2486---Apple Tree(树状DP+背包)

https://vjudge.net/problem/POJ-2486题意:一颗树,n个点(1-n),n-1条边,每个点上有一个权值,求从1出发,走V步,最多能遍历到的权值。思路:考虑到能从父节点走到某一个子节点后,在走回至父节点,再取走其他的子节点(所以这个地方有3种情况).另开一维数组表示是否回到该结点。dp[i][j][state]表示以i为父节点最多走j步,state表示状态,...

2018-10-09 19:14:59 165

原创 Poj -3254 Corn Fields(状压DP)

https://www.luogu.org/problemnew/show/P1879题意:n*m的农田,有些格子可以放牧用1表示,不能放牧的用0表示。要求不能时相邻的格子都有牛。用二进制来表示状态:假设存在某种情况 1001,1,4可以放牛,2,3不可以。该种情况化为10进制就是5.对于一个列数为m,可能出现的方案为11.1...1(m个1)。即:++....结果为:-1;而对于这-...

2018-09-11 21:48:42 121

原创 2018湖南省第14届大学生计算机程序设计竞赛---卖萌表情

http://acm.csu.edu.cn/csuoj/problemset/problem?pid=2166用贪心来求。我的理解:用贪心来解决问题时要优先选择贡献大的。对于后2种表情,直接枚举就行。对于前面2种表情,先选择倒着的笑脸,因为出现‘^ ’时,倒着的笑脸能尽可能多的使用‘v’.#include<bits/stdc++.h>#define maxn 100...

2018-09-10 16:16:01 686 2

原创 第九届福建省大学生程序设计竞赛 --A Uint47 calculator

https://vjudge.net/contest/249960#problem/A要注意:ll 64位。mul操作时要用快速乘,不然会超精度。add操作时要取模。#include<iostream>#include<map>using namespace std;typedef long long ll;map<string,ll>mp;...

2018-08-27 16:45:43 722

原创 Problem 2300 IoU

http://acm.fzu.edu.cn/problem.php?pid=2300不用计算几何,要仔细观察,贪心即可。#include<iostream>#include<cstdio>using namespace std;typedef long long ll;int main(){ int t; cin>>t; ...

2018-08-27 14:58:56 189

原创 CF-C. Maximal Intersection

http://codeforces.com/contest/1029/problem/C c.begin() 返回一个迭代器,它指向容器c的第一个元素 c.end() 返回一个迭代器,它指向容器c的最后一个元素的下一个位置 c.rbegin() 返回一个逆序迭代器,它指向容器c的最后一个元素 c.rend() 返回一个逆序迭代器,它指向容器c的第一个元素前面的位置 multis...

2018-08-25 10:24:37 344

原创 CF 1029B Creating the Contest

http://codeforces.com/contest/1029/problem/B要注意第四组数据:20000 1310 8036 8740 52085 52861 54955 57293 58382 62636 70196 70714 77847 78490.......如果最后不加ans=max(ans,temp),输出为2; #include<bits/stdc...

2018-08-25 09:49:36 397

原创 CF 1092 A. Many Equal Substrings

http://codeforces.com/contest/1029/problem/A求出最后一个字母的最长前缀与后缀,cal_next(),然后输出之后的串m-1。#include<bits/stdc++.h>#define maxn 200005using namespace std;char s[maxn];int nex[maxn];int main()...

2018-08-25 09:45:19 123

原创 CF-780B- The Meeting Place Cannot Be Changed

http://codeforces.com/problemset/problem/780/B.x轴上有n个点,给出这些点的坐标和最大速度,点只能左右移动。问 所有点到某一点时间最小,求到达该点的时间。 可以对时间进行二分。若时间长为t,则对某一点pos[i],它能到达的范围为pos[i]-time*speed[i],pos[i]+time*speed[i];对n个点所能达到的区域取...

2018-08-24 20:57:14 148

转载 做任务 三

https://www.51nod.com/contest/Problem.html#!problemId=2203&contestId=54B君和m个人一起,要完成n个任务,在这个题中,B君和m个人,什么都不做。第i个任务有一个开始时间s[i]和结束时间e[i](保证s[i]<=e[i]),一个人完成两个任务的时间区间,不能有交集,但是可以首尾相连。(参考样例)换句话...

2018-08-24 20:02:46 307

转载 字符串连接

https://www.51nod.com/contest/Problem.html#!problemId=2204&contestId=54输入n个字符串s[i],你要把他们按某个顺序连接起来,使得字典序最小。(1 <= n <= 100)(每个字符串长度 <= 100)(字符串只包含小写字母)Input第一行一个整数n。接下来每行一个字符...

2018-08-24 16:54:44 129

原创 CF 799A Pupils Redistribution

http://codeforces.com/problemset/problem/779/A每个数在2个数组出现的次数和为偶数即可,出现次数为偶数即可保证2个数组经过交换均有相同的该数。一些小细节要注意。#include<bits/stdc++.h>#define maxn 105using namespace std;int a[maxn],b[maxn];in...

2018-08-24 15:09:56 124

原创 HDU-5922 Minimum’s Revenge

http://acm.hdu.edu.cn/showproblem.php?pid=5922图是完全图,权值为相邻2点的LCM。以1为起点到所有点为最小生成树即可。要用等差数列求和。#include<bits/stdc++.h>#define maxn 300005using namespace std;typedef long long ll;int mai...

2018-08-23 21:51:32 111

转载 CF---C. Naming Company

http://codeforces.com/problemset/problem/794/C第一个串的长度为(n+1)/2,第二个串的长读为n/2。当a[la]<b[lb]或b[lb]>a[la]时,直接放在ans串的左边。当a[la]>=b[lb]或b[lb]<=s[la],应该占取右边的位置。#include<bits/stdc++.h>...

2018-08-23 21:38:02 127

转载 接水问题 二

https://www.51nod.com/contest/Problem.html#!problemId=2200&contestId=54 n个人一起排队接水,第i个人的重要性是a[i],需要b[i]的时间来接水。1 <= n <= 100000 0 <= b[i] <= 10000 <= a[i] <= 1000同时只能有一个...

2018-08-23 20:26:09 439

转载 做任务 一

https://www.51nod.com/contest/Problem.html#!problemId=2201&contestId=54B君和m个人一起,要完成n个任务,在这个题中,m个人会看着这B君,自己什么都不做。第i个任务有一个开始时间s[i]和结束时间e[i](保证s[i]<=e[i]),一个人完成两个任务的时间区间,不能有交集,但是可以首尾相连。(参考样例)...

2018-08-23 20:24:26 328

原创 CF C. Plasticine zebra

http://codeforces.com/contest/1025/problem/C题意:给你一个字符串,可以把它分成两段,每段首尾调换再拼接成新的字符串,问相邻连续不相同的最多有多少个?直接当成环来处理就行了。只是要注意bw这种情况。#include<bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace s...

2018-08-20 11:41:04 126

原创 C. Minimum Value Rectangle

http://codeforces.com/contest/1027/problem/C题意:题意:给出n根木棍的长度,求从中选择4根,能组成最小的(周长的平方/面积)的值的4根的长度。化简之后就是求x/y+y/x的最小值。输入输出的时候用scanf(),printf()。set<type>s,s.begin()返回的是iterator;#include<bit...

2018-08-20 10:44:35 217

原创 CF B. Weakened Common Divisor

只要枚举第一组2个数的质因数就可以了,不用枚举所有的质因数。一个2*1e9的质因数个数也没多少,不会超时。#include<bits/stdc++.h>#define maxn 150005using namespace std;typedef long long ll;struct node{ ll x; ll y;}A[maxn];set&lt...

2018-08-20 10:11:06 251

原创 Wannafly挑战赛22---A 计算器

牛客Wannafly A:https://www.nowcoder.com/acm/contest/160/A有一个计数器,计数器的初始值为0,每次操作你可以把计数器的值加上a1,a2,...,an中的任意一个整数,操作次数不限(可以为0次),问计数器的值对m取模后有几种可能。(每个数无限取) 翡蜀定理:对于任何整数a,b,d=gcd(a,b),关于未知数x和y的线性丢番图方程(翡蜀等...

2018-08-18 14:30:22 312

原创 RMQ---csu1809

RMQ可用于区间求最大值或区间求最小值。2个数组,一个为a[i],即所给数列,一个为dp[i][j],为区间最值。init:dp[i][j]代表,以i为起点,长度为(1<<j)数列的最值。for(int i=1;i<=n;i++){ dp[i][0]=a[i]; lg[i]=lg[i/2]+1;///lg[i]相当与2的lg[i]次方为i;也可...

2018-08-14 17:04:36 145

原创 牛客网暑期ACM多校训练营(第八场) E Touring cities

E-Touring citieshttps://www.nowcoder.com/acm/contest/146/E给你一个n*m的棋盘,你要从(1,1)出发遍历整个棋盘再回到(1,1),图中某些格子可以直接飞到另一个格子。求最少走多少步回到(1,1)且遍历整个棋盘。当n*m为偶数的时候(n,m只要有一个为偶数),最短路径为n*m,哈密顿回路。当n,m均为奇数的时,从(1,1)出发...

2018-08-13 19:48:35 154

c++成绩管理系统

成绩管理系统。

2018-06-27

空空如也

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

TA关注的人

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