洛谷
lcxdz
这个作者很懒,什么都没留下…
展开
-
codeforces D. PriceFixed (双指针
#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+10;struct node{ ll a,b; /* data */}arr[N];bool cmp(node a,node b){ return a.b>b.b;}int main(){ int n; ll Csum=0; scanf("%d",&n); for(int i=1;i&l原创 2021-07-09 09:56:11 · 125 阅读 · 0 评论 -
luogu P4549 【模板】裴蜀定理
添加链接描述#include<bits/stdc++.h>using namespace std;int gcd(int a,int b){ return b?gcd(b,a%b):a;}int main(){ int a,b; int n; cin>>n; cin>>a; n--; b=0; int ans=gcd(a,b); while(n--) { cin&原创 2021-05-26 11:26:42 · 106 阅读 · 0 评论 -
luogu P1135 奇怪的电梯
添加链接描述#include<bits/stdc++.h>using namespace std;typedef pair<int,int> pii;int arr[210];int n,a,b,step;bool vis[210];int bfs(){ queue<pair<int,int>>q; q.push({a,0}); vis[a]=1; while(q.size()) {原创 2021-05-19 20:53:03 · 118 阅读 · 0 评论 -
luogu CF978B File Name
添加链接描述#include<bits/stdc++.h>using namespace std;int main(){ string s; int n; cin>>n>>s; int cnt=0; int ans=0; for(int i=0;i<n;i++) { if(s[i]=='x')cnt++; else { if(cnt>2)原创 2021-05-18 20:44:26 · 50 阅读 · 0 评论 -
luogu CF978C Letters
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=2e5+10;typedef long long ll;ll arr[N],sum[N];int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++) { scanf("%lld",&arr[i]); sum[i]=原创 2021-05-18 20:43:39 · 115 阅读 · 0 评论 -
luogu P1194 买礼物
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1010;int arr[N][N];int a,b;int dist[N];bool vis[N];int prim(){ memset(dist,0x3f,sizeof dist); int res=0; for(int i=0;i<b;i++) { int t=-1; for(int原创 2021-05-17 11:13:39 · 149 阅读 · 1 评论 -
luogu P1195 口袋的天空
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e4+10;int p[N];struct node{ int a,b,c;}t[N];int n,m,k;bool cmp(node a,node b){ return a.c<b.c;}int find(int x){ if(x==p[x])return x; return p[x]=find(p[x]);原创 2021-05-17 09:49:49 · 159 阅读 · 0 评论 -
luoguP2024 [NOI2001] 食物链
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=5e4+10;int p[N*3];int find(int x){ if(x==p[x])return x; return p[x]=find(p[x]);}void merge(int x,int y){ p[find(x)]=find(y);}int main(){ int n,m; cin>>原创 2021-05-16 09:38:42 · 101 阅读 · 0 评论 -
luogu P1111 修复公路
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int cnt[N],p[N];int find(int x){ if(p[x]==x)return p[x]; return p[x]=find(p[x]);}void merge(int x,int y){ p[find(x)]=find(y);}struct node{ int x,y,t;}原创 2021-05-15 14:39:34 · 65 阅读 · 0 评论 -
Luogu P2580 于是他错误的点名开始了
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=5e5+10;int n,m,son[N][26],idx,cnt[N];void insert(string &s){ int p=0; for(int i=0;s[i];i++) { int u=s[i]-'a'; if(!son[p][u])son[p][u]=++idx; p=原创 2021-05-14 22:44:03 · 114 阅读 · 0 评论 -
P1462 通往奥格瑞玛的道路
添加链接描述二分 dijkstra原创 2021-05-14 22:16:40 · 135 阅读 · 0 评论 -
luogu P1144 最短路计数
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e6+10,M=4e6+10;int e[N],ne[M],h[N],idx,dist[N],n,m,ans[N];bool vis[N];void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++;}typedef pair <int ,int> pii;priority_queu原创 2021-05-14 19:17:46 · 113 阅读 · 0 评论 -
P1339 [USACO09OCT]Heat Wave G
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=2e4+10;int n,m,s,t;int e[N],ne[N],h[N],idx,w[N];void add(int a,int b,int c){ w[idx]=c; e[idx]=b,ne[idx]=h[a],h[a]=idx++;}int dist[N];typedef pair<int,int> pii;prior原创 2021-05-14 16:39:03 · 162 阅读 · 0 评论 -
luogu P2615 [NOIP2015 提高组] 神奇的幻方
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=40;int mp[N][N];int main() { int n; cin>>n; int x=1,y=(n+1)>>1; mp[x][y]=1; for(int i=2; i<=n*n; i++) { if(x==1&&y!=n) { x=n,y=y+1; } else if(y==n&am原创 2021-05-13 17:50:58 · 151 阅读 · 0 评论 -
luogu P1563 [NOIP2016 提高组] 玩具谜题
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e5+10;struct node{ int face; string name ;}t[N];int main(){ int n,m; cin>>n>>m; for(int i=0;i<n;i++) { cin>>t[i].face>>t[i].name; } int now=0;原创 2021-05-13 17:09:43 · 104 阅读 · 0 评论 -
luogu P1983 [NOIP2013 普及组] 车站分级
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e6+10;//我还是小瞧了1000*1000的点可以构成的边0.0int n,m;int e[N],ne[N],h[N],idx,d[N];void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++; d[b]++;}int step[N],mx=0;int bfs(){原创 2021-05-12 20:52:06 · 151 阅读 · 0 评论 -
luogu P1113 杂务
添加链接描述#include<bits/stdc++.h>using namespace std;int n;const int N=1e5+10;const int M=1e4+10;int e[N],ne[N],idx=0,d[M],h[M],a[M];//点和边不止1e4void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++; d[b]++;}int f[N];int bfs(){ q原创 2021-05-12 16:54:11 · 52 阅读 · 0 评论 -
luogu P1088 [NOIP2004 普及组] 火星人
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e4+10;int n,m,arr[N],vis[N];int flag=0,gg=0;void dfs(int u){ if(gg)return ; if(u==n) { flag=1; m--; if(m==-1) { for(int i=1;i原创 2021-05-11 18:38:27 · 131 阅读 · 0 评论 -
CF1501A Alexey and Train
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=110;int main(){ int t; cin>>t; while(t--) { int n; cin>>n; int a[N]={},b[N]={}; for(int i=1; i<=n; i++) {原创 2021-05-09 16:04:37 · 104 阅读 · 0 评论 -
P1022 [NOIP2000 普及组] 计算器的改良
模拟有几个坑点:1、零除以负数得到-0 需要特判2、+a -a 2a -2a 的处理 字符数小于等于2的时候需要判断第一位是不是数字 接着判断是‘-’ 还是‘+’号;#include<bits/stdc++.h>using namespace std;int main() { string str; cin >> str; int equal = str.find('='); string l = str.substr(0, equal); l += '#';原创 2021-04-26 21:17:27 · 440 阅读 · 0 评论 -
luogu P1168 中位数
添加链接描述#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3f#define MAXN 100005#define MAXM 1000005priority_queue<int, vector<int>, greater<int>>mi_q;//最小priority_queue<int>mx_q;//最大int原创 2021-04-06 22:50:55 · 93 阅读 · 0 评论 -
P1175 表达式的转换 (栈 链表
添加链接描述#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3f#define MAXN 100005#define MAXM 1000005int priority(const char &ch){ switch(ch){ case '+': case '-': return 1; case '*': case '/': r原创 2021-04-05 15:43:05 · 232 阅读 · 0 评论 -
luogu p1908 (归并排序 求冒泡交换相邻个数
逆序对#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3f#define MAXN 100005#define MAXM 1000005int a[500009],b[500009];ll ans=0;void msort(int l,int r){ int mid=(l+r)/2; if(l==r){//单个元素了 return; } else原创 2021-03-30 22:26:11 · 84 阅读 · 0 评论 -
luogu P1443 马的遍历(BFS
BFS#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3f#define MAXN 100005#define MAXM 1000005int n,m,X,Y;int dx[10]={0,1,2,-2,-1,-1,2,1,-2};int dy[10]={0,2,1,-1,-2,2,-1,-2,1};queue<int>qx,qy,qstep;i原创 2021-03-23 22:28:04 · 118 阅读 · 0 评论 -
P4552 [Poetize6] IncDec Sequence(差分
P4552#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3fll num[100009];int main() { ll n,a=0,b=0,sum=0,x,f; cin>>n; for(int i=0;i<n;i++)cin>>num[i]; for(int i=1;i<n;i++){ sum=num[i]-原创 2021-03-16 22:22:43 · 162 阅读 · 0 评论 -
P1678 烦恼的高考志愿 (二分
P1678题目背景计算机竞赛小组的神牛V神终于结束了高考,然而作为班长的他还不能闲下来,班主任老t给了他一个艰巨的任务:帮同学找出最合理的大学填报方案。可是v神太忙了,身后还有一群小姑娘等着和他约会,于是他想到了同为计算机竞赛小组的你,请你帮他完成这个艰巨的任务。题目描述现有 m(m\le100000)m(m≤100000) 所学校,每所学校预计分数线是 a_i(a_i\le10^6)ai (ai ≤106)。有 n(n\le100000)n(n≤100000) 位学生,估分分别原创 2021-03-16 22:19:20 · 691 阅读 · 0 评论 -
洛谷 P1199 [NOIP2010 普及组] 三国游戏(贪心
P1199第一最优组合无法获得 但可以获得第二个最优 计算机无法得到最优(其中之一被我拿到)#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3fint main(){ int n,num[509][509]={}; cin>>n; for(int i=1;i<=n-1;i++){ for(int j=i+1;j<=n;j++){原创 2021-02-25 20:59:23 · 235 阅读 · 1 评论 -
luogu P1094 [NOIP2007 普及组] 纪念品分组
P1094#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3fint main(){ int w; cin>>w; int n,num[30009]={},sum=0; cin>>n; for(int i=0;i<n;i++){ cin>>num[i]; }sort(num,num+n); int l=0,r原创 2021-02-22 21:37:15 · 154 阅读 · 0 评论 -
luogu P4995 跳跳!
P4995#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3fint main(){ int n; cin>>n; ll num[500]={}; for(int i=0;i<n;i++)cin>>num[i]; sort(num,num+n);//xiao ll ans=0,h=0,g=0,g1=n-1; for(i原创 2021-02-22 21:34:56 · 131 阅读 · 0 评论 -
luogu P1208 [USACO1.3]混合牛奶 Mixing Milk
P1208#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3fstruct group{ int p,a;}t[5009];bool cmp(group a,group b){ return a.p<b.p;}int main(){ int n,m; cin>>n>>m; if(n==0){ cout<<原创 2021-02-22 21:33:25 · 112 阅读 · 0 评论 -
luogu P4994 终于结束的起点
P4994#include<bits/stdc++.h>//开数组会re 注意ifusing namespace std;typedef long long ll;#define INF 0x3f3f3f3fint main(){ int m,n; cin>>m; int a,b,c; a=0,b=1%m; for(int i=2;;i++){ c=a%m+b%m; c%=m; a=b,b=c; if(a==1&&am原创 2021-02-20 22:07:45 · 56 阅读 · 0 评论 -
luogu P1192 台阶问题
P1192题目描述有NN级的台阶,你一开始在底部,每次可以向上迈最多KK级台阶(最少11级),问到达第NN级台阶有多少种不同方式。输入格式两个正整数N,K。输出格式一个正整数,为不同方式数,由于答案可能很大,你需要输出ans \bmod 100003ansmod100003后的结果。输入输出样例输入 #1复制5 2输出 #1复制8说明/提示对于20%20%的数据,有N ≤ 10, K ≤ 3N≤10,K≤3;对于40%40%的数据,有N ≤ 1000N≤1000;对于100%1原创 2021-02-19 23:03:48 · 219 阅读 · 0 评论 -
luogu P1464 Function
P1464展开题目描述对于一个递归函数w(a,b,c)w(a,b,c)如果a \le 0a≤0 or b \le 0b≤0 or c \le 0c≤0就返回值11.如果a>20a>20 or b>20b>20 or c>20c>20就返回w(20,20,20)w(20,20,20)如果a<ba<b并且b<cb<c 就返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c)w(a,b,c−1)+w(a,b−1,c−1)−w原创 2021-02-18 23:08:38 · 73 阅读 · 0 评论 -
luogu P1036 [NOIP2002 普及组] 选数
P1036题目描述已知 nn 个整数 x_1,x_2,…,x_nx1 ,x2 ,…,xn ,以及11个整数kk(k<nk<n)。从nn个整数中任选kk个整数相加,可分别得到一系列的和。例如当n=4,k=3n=4,k=3,44个整数分别为3,7,12,193,7,12,19时,可得全部的组合与它们的和为:3+7+12=223+7+12=223+7+19=293+7+19=297+12+19=387+12+19=383+12+19=343+12+19=34。现在原创 2021-02-18 23:06:45 · 316 阅读 · 0 评论 -
luogu P1028 [NOIP2001 普及组] 数的计算
P1028题目描述我们要求找出具有下列性质数的个数(包含输入的正整数 nn)。先输入一个正整数 nn(n \le 1000n≤1000),然后对此正整数按照如下方法进行处理:不作任何处理;在它的左边加上一个正整数,但该正整数不能超过原数的一半;加上数后,继续按此规则进行处理,直到不能再加正整数为止。输入格式11 个正整数 nn(n \le 1000n≤1000)输出格式11 个整数,表示具有该性质数的个数。输入输出样例输入 #1复制6输出 #1复制6说明/提示满足条件的数为原创 2021-02-18 22:53:22 · 291 阅读 · 0 评论 -
luogu part 1.3 拼数 (字符串基础)
P1012 [NOIP1998 提高组] 拼数题目描述设有 nn 个正整数 a_1 \dots a_na1 …an ,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。输入格式第一行有一个整数,表示数字个数 nn。第二行有 nn 个整数,表示给出的 nn 个整数 a_iai 。输出格式一个正整数,表示最大的整数输入输出样例输入 #1复制313 312 343输出 #1复制34331213输入 #2复制47 13 4 246输出 #2复制742原创 2021-02-08 22:57:27 · 667 阅读 · 0 评论 -
luogu part 1.3 回文日期 (字符串基础)
P2010 [NOIP2016 普及组] 回文日期题目描述在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。牛牛习惯用88位数字表示一个日期,其中,前44位代表年份,接下来22位代表月 份,最后22位代表日期。显然:一个日期只有一种表示方法,而两个不同的日期的表 示方法不会相同。牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。现 在,牛牛想知道:在他指定的两个日期之间包含这两个日期本身),有多少个真实存 在的日期是回文的。一个88位数字是回文的,当且仅当对于所原创 2021-02-08 22:52:03 · 179 阅读 · 0 评论 -
luogu part 1.3 统计单词数 (字符串基础)
P1308 [NOIP2011 普及组] 统计单词数展开题目描述一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 )。输入格式共原创 2021-02-08 22:46:06 · 108 阅读 · 1 评论 -
luogu part 1.3 ISBN 号码(字符串基础)
P1055 [NOIP2008 普及组] ISBN 号码题目描述每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字、11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如00代表英语;第一个分隔符-之后的三位数字代表出版社,例如670670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位原创 2021-02-08 22:43:54 · 225 阅读 · 0 评论 -
luogu part 1.2 珠心算测验 (数组基础)
P2141first时间复杂度 N²空间复杂度 N+2K#include<bits/stdc++.h>using namespace std;typedef long long ll;#define INF 0x3f3f3f3fint num[20009],s[110];int main(){ int n; cin>>n; memset(num,0,sizeof(num)); for(int i=0;i<n;i++){ int x; sca原创 2021-02-06 00:25:19 · 116 阅读 · 0 评论