Problem A meeting

https://ac.nowcoder.com/acm/contest/884/A

题意:

题解:

C++版本一

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+7;
//树直径都是这么求的
int vis[N];
int len111,lll;///保留最长长度和距离最远的点
int a[N];
vector<int> son[N];
void dfs(int len,int fa,int x)
{for(int i=0;i<son[x].size();i++)if(son[x][i]!=fa){if(vis[son[x][i]]==1){if(len111<len){len111=len;lll=son[x][i];}}dfs(len+1,x,son[x][i]);}
}
int main()
{ios::sync_with_stdio(false);int n,k;cin>>n>>k;for(int i=1;i<n;i++){int a,b;cin>>a>>b;son[a].push_back(b);son[b].push_back(a);}for(int i=1;i<=k;i++){cin>>a[i];vis[a[i]]=1;}dfs(1,a[1],a[1]);//cout<<lll<<' '<<len111<<endl;dfs(1,lll,lll);cout<<(len111+1)/2<<endl;
}

Problem B xor

题意:

题解:

C++版本一

Problem C sequence

https://ac.nowcoder.com/acm/contest/884/C

题意:

题解:

C++版本一

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=3e6+10;
const int INF=0x3f3f3f3f;
LL n,top,a[N],b[N],L[N],R[N],Sum[N],Lmin[N],Rmin[N];
struct dat{LL idx,val;
}S[N];int main()
{cin>>n;for (int i=1;i<=n;i++) scanf("%lld",&a[i]);for (int i=1;i<=n;i++) scanf("%lld",&b[i]);for (int i=1;i<=n;i++) Sum[i]=Sum[i-1]+b[i];a[n+1]=-INF;for (int i=1;i<=n+1;i++) {while (top && a[i]<S[top].val) {int id=S[top].idx;L[id]=S[top-1].idx+1; R[id]=i-1;top--;}top++; S[top].idx=i; S[top].val=a[i];}LL sum=0,Max=0,id=0;for (int i=1;i<=n;i++) {sum+=b[i];Lmin[i]=id+1;if (sum>Max) Max=sum,id=i;}sum=0; Max=0; id=n+1;for (int i=n;i;i--) {sum+=b[i];Rmin[i]=id-1;if (sum>Max) Max=sum,id=i;}LL ans=-INF;for (int i=1;i<=n;i++)if (a[i]>=0) ans=max(ans,a[i]*(Sum[R[i]]-Sum[L[i]-1]));else {LL lm=max(L[i],Lmin[i]),rm=min(R[i],Rmin[i]);ans=max(ans,a[i]*(Sum[rm]-Sum[lm-1]));}cout<<ans<<endl;return 0;
}

Problem D triples I

https://ac.nowcoder.com/acm/contest/884/D

题意:

题解:

C++版本一

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+7;
int main()
{int zs;cin>>zs;while(zs--){long long n;vector<int>s,ans,ans2;cin>>n;if(n%3==0) {cout<<1<<' '<<n<<endl;continue;}int d=n%3;while(n){s.push_back(n%2);n/=2;}//for(int i=0;i<s.size();i++)cout<<s[i];cout<<endl;for(int i=0;i<s.size();i++) ans.push_back(0);int f=0,t;for(int i=d-1;i<s.size();i+=2)if(s[i]==1){f=1;s[i]=0;ans[i]=1;break;}//for(int i=0;i<s.size();i++)cout<<s[i];cout<<endl;if(f==1){  f=0;for(int i=d%2;i<s.size();i+=2)if(s[i]==1){ans[i]=1;f=1;break;}if(f==0){int ttt=0;for(int i=d-1;i<s.size();i+=2)if(s[i]==1){ans[i]=1;f=1;ttt++;if(ttt==2)break;}}}else{int ttt=0;for(int i=d%2;i<s.size();i+=2)if(s[i]==1){s[i]=0;ans[i]=1;ttt++;if(ttt==3){s[i]=1;ans[i]=1;break;}}}long long a1=0,a2=0,d1=1,d2=1;
//for(int i=0;i<s.size();i++)cout<<s[i];cout<<endl;
//for(int i=0;i<ans.size();i++)cout<<ans[i];cout<<endl;for(int i=0;i<s.size();i++){a1+=s[i]*d1;d1*=2;}for(int i=0;i<ans.size();i++){a2+=ans[i]*d2;d2*=2;}cout<<2<<' '<<a1<<' '<<a2<<endl;}
}

Problem E triples II

题意:

题解:

C++版本一

Problem F merge

题意:

题解:

C++版本一

Problem G tree

题意:

题解:

C++版本一

Problem H RNGs

题意:

题解:

C++版本一

Problem I string

题意:

题解:

C++版本一

Problem J free

https://ac.nowcoder.com/acm/contest/884/J

题意:

题解:

C++版本一

# include <cstdio>
# include <iostream>
# include <queue>
# include <cstring>
# define mp make_pair
# define R register intusing namespace std;int h,n,m,k,s,t,a,b,c,firs[3009];
struct edge
{int co,too,nex;
}g[10009];
int d[3009][3009];
bool vis[3009][3009];
typedef pair <int,int> pii;
priority_queue <pii,vector<pii>,greater<pii> > q;void add(int x,int y,int co)
{g[++h].too=y;g[h].co=co;g[h].nex=firs[x];firs[x]=h;
}void dis()
{memset(d,127,sizeof(d));d[s][0]=0;q.push(mp(0,s));int beg,j,x;while (q.size()){beg=q.top().second;q.pop();x=beg/n;beg%=n;if(vis[beg][x]) continue;vis[beg][x]=true;for (R i=firs[beg];i;i=g[i].nex){j=g[i].too;if(d[beg][x]+g[i].co<d[j][x]){d[j][x]=d[beg][x]+g[i].co;q.push(mp(d[j][x],j+n*x));}if(x==k) continue;if(d[j][x+1]>d[beg][x]){d[j][x+1]=d[beg][x];q.push(mp(d[j][x+1],j+(x+1)*n));}}}
}int main()
{scanf("%d%d%d%d%d",&n,&m,&s,&t,&k);for (R i=1;i<=m;++i){scanf("%d%d%d",&a,&b,&c);add(a,b,c);add(b,a,c);}dis();printf("%d\n",d[t][k]);return 0;
}

Problem K number

https://ac.nowcoder.com/acm/contest/884/K

题意:

题解:

C++版本一

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 7;
int sum[maxn], cnt[3];
int main()
{string str; cin >> str;int len = str.length();long long ans = 0;int l = 0; int t = 0;cnt[1] = -1; cnt[2] = -1;//while (str[l] == '0') l++;for (int i = l; i < len; i++){sum[i+1] = (sum[i] + (str[i] - '0')) % 3;//cout << "? " <<i<<' '<< sum[i+1] << endl;cnt[sum[i+1]]++;if (str[i] == '0'){t++;if (str[i+1] && str[i+1] == '0') {ans += cnt[sum[i]];//cout << sum[i]<<' '<<cnt[sum[i]] <<" >> "<< ans << endl;}}}cout << ans + t << endl;return 0;
}

2019牛客暑期多校训练营(第四场)相关推荐

  1. 【2019牛客暑期多校训练营(第二场) - H】Second Large Rectangle(单调栈,全1子矩阵变形)

    题干: 链接:https://ac.nowcoder.com/acm/contest/882/H 来源:牛客网 题目描述 Given a N×MN \times MN×M binary matrix. ...

  2. 2019牛客暑期多校训练营(第一场)E-ABBA(dp)

    链接:https://ac.nowcoder.com/acm/contest/881/E 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语言1048 ...

  3. 2019牛客暑期多校训练营(第一场)

    传送门 参考资料: [1]:官方题解(提取码:t050 ) [2]:标程(提取码:rvxr ) [3]:牛客题解汇总 A.Equivalent Prefixes(单调栈) •题意 定义两个数组 u,v ...

  4. 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)

    链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...

  5. 【2019牛客暑期多校训练营(第二场)- E】MAZE(线段树优化dp,dp转矩阵乘法,线段树维护矩阵乘法)

    题干: 链接:https://ac.nowcoder.com/acm/contest/882/E?&headNav=acm 来源:牛客网 Given a maze with N rows an ...

  6. 【2019牛客暑期多校训练营(第二场)- F】Partition problem(dfs,均摊时间优化)

    题干: 链接:https://ac.nowcoder.com/acm/contest/882/F 来源:牛客网 Given 2N people, you need to assign each of ...

  7. 【2019牛客暑期多校训练营(第二场) - D】Kth Minimum Clique(bfs,tricks)

    题干: 链接:https://ac.nowcoder.com/acm/contest/882/D 来源:牛客网 Given a vertex-weighted graph with N vertice ...

  8. 【2019牛客暑期多校训练营(第一场) - A】Equivalent Prefixes(单调栈,tricks)

    题干: 链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Two arrays u and v each with m distinct elem ...

  9. 【2019牛客暑期多校训练营(第一场) - H】XOR(线性基,期望的线性性)

    题干: 链接:https://ac.nowcoder.com/acm/contest/881/H 来源:牛客网 Bobo has a set A of n integers a1,a2,-,ana1, ...

  10. 2019牛客暑期多校训练营(第九场)H Cutting Bamboos(主席树+二分)

    链接:https://ac.nowcoder.com/acm/contest/889/H 来源:牛客网 题目描述 There are n bamboos arranged in a line. The ...

最新文章

  1. http://www.jikexueyuan.com/course/181.html
  2. 翻译:MariaDB RENAME TABLE语句
  3. yiStack平台维护
  4. Nginx(九)-- Nginx实际使用配置
  5. LaTeX集合运算相关命令
  6. typora高级设置字体_Mint(Linux)系统设置优化及其常用软件安装笔记
  7. CentOS 7 换yum源
  8. python编程、abc最大值_Python中abc
  9. 第11章[11.6] Ext JS 自行搭建远端库的包升级版本后找不到的问题解决-The following versions are available
  10. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.15 如何掌握拍摄方向
  11. 过滤器模式(Filter Pattern)
  12. CentOS安装tengine(淘宝服务器)
  13. 合肥磨店职教城论坛使用WNMP平台架设 http://301302.net/
  14. (Android-RTC-8)分析HardwareVideoEncoder—BitrateAdjuster
  15. jar文件不能在nokia s60 sdk模拟器中运行
  16. java 字符串练习(罗马数字的转换)
  17. java 过载_过载保护【转载】
  18. python爬虫-基础入门-python爬虫突破封锁
  19. vs2019,C#,MySQL创建图书管理系统3(管理员相关页面的布局和设计实现,图书显示,图书添加)
  20. PreparedStatement.addbatch()的使用

热门文章

  1. 学计算机数据结构重要吗,程序员都说数据结构重要,那么究竟什么是数据结构?...
  2. javascript 判断为负数_JavaScript从零开始——标准库(7)
  3. 几天后自动领取java怎么做的_java获取几天前和几天后的日期
  4. HTML5唐四薪,8文件存取组件课件.ppt
  5. java反多态的代码_Java多态性代码详解
  6. java小程序扑克牌_用Java来写一个模拟斗地主发牌的小程序
  7. Java Store_java之Properties集合中的方法store
  8. 深度学习和目标检测系列教程 10-300:通过torch训练第一个Faster-RCNN模型
  9. 【机器学习算法专题(蓄力计划)】十六、机器学习中贝叶斯分类算法
  10. kaggle房价预测问题