比赛链接

期望得分:100+20+20

实际得分:40+20+30

awa  cccc

T1 :基于贪心的思路,然后开始爆搜(雾

那必然是会死的,好吧他就是死了

#include<iostream>
#include<cstdio>
#include<algorithm>
#define int long long
using namespace std;
int n,q,m;
int ans,sum=-;
int a[];
int x,y;
inline int read();
int cha() {
int ans=-;
for(int i=; i<=n; i++)ans=max(ans,a[i]);
return ans;
}
signed main() {
n=read(),m=read(),q=read();
for(int i=; i<=n; i++) {
a[i]=read();
ans+=a[i];
sum=max(a[i],sum);
}
if(sum*m>=ans)cout<<sum<<"\n";
else {
sum=ans/m;
if(ans%m)sum++;
cout<<sum<<"\n";
}
while(q--) {
x=read(),y=read();
ans+=y-a[x];
if(y<a[x]&&a[x]==sum)a[x]=y,sum=cha();
a[x]=y;
if(y>sum)sum=y;
if(sum*m>=ans)cout<<sum<<"\n";
else {
sum=ans/m;
if(ans%m)sum++;
cout<<sum<<"\n";
}
}
return ;
}
inline int read() {
int s=,w=;
char ch=getchar();
while(ch<''||ch>'') {
if(ch=='-')w=-;
ch=getchar();
}
while(ch>=''&&ch<='')
s=(s<<)+(s<<)+(ch^),ch=getchar();
return s*w;
}

T2:题目倒是没看明白,smg

就直接贴了个并查集求连通块个数,,,只拿了20分

20分代码(☄⊙ω⊙)☄:

//20分,k=0的情况,若k!=0,直接return 0,毫不犹豫awa
//看我对评测机多好,希望评测机可以对我好一点
#include<iostream>
#include<cstdio>
#include<cmath>
#define int long long
using namespace std;
int N,M,K,ans;
int pre[];
int find(int a) {
if(pre[a]!=a) pre[a]=find(pre[a]);
return pre[a];
}
void join(int x,int y) {
int fx=find(x),fy=find(y);
if(fx!=fy) pre[fy]=fx;
}
inline int read() {
int s=,w=;
char ch=getchar();
while(ch<''||ch>'') {
if(ch=='-')w=-;
ch=getchar();
}
while(ch>=''&&ch<='')
s=(s<<)+(s<<)+(ch^),ch=getchar();
return s*w;
}
signed main() {
N=read(),M=read(),K=read();
if(K!=){
cout<<M-K+<<endl;
return ;
}
for(int i=; i<=N; i++) pre[i]=i;
for(int i=; i<=M; i++) {
int a,b;
a=read(),b=read();
join(a,b);
}
for(int i=; i<=N; i++) if(pre[i]==i) ans++;
cout<<ans;
return ;
}

T3:暴力模拟30分

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
using namespace std;
const int inf=0x3f3f3f3f;
int n,m,f;
int t,l,r,x,y;
int ans;
int a[];
bool vis[];
void gai(int l,int r,int x) {
memset(vis,false,sizeof vis);
for(int i=l; i<=r; i++)a[i]=x;
for(int i=; i<=n; i++)vis[a[i]]=true; }
void cha(int x,int y) {
if(!vis[x]||!vis[y]) {
ans=-;
return;
}
ans=inf;
for(int i=; i<=n; i++)
for(int j=i; j<=n; j++)
if((a[i]==x&&a[j]==y)||(a[i]==y&&a[j]==x)) {
ans=min(ans,abs(i-j));
break;
}
if(ans==inf)ans=-;
}
int lastans;
inline int read() {
int s=,w=;
char ch=getchar();
while(ch<''||ch>'') {
if(ch=='-')w=-;
ch=getchar();
}
while(ch>=''&&ch<='')
s=(s<<)+(s<<)+(ch^),ch=getchar();
return s*w;
}
int main() {
n=read(),m=read(),f=read();
for(int i=; i<=n; i++)
a[i]=read(),vis[a[i]]=true;
for(int i=; i<=m; i++) {
t=read();
if(t==) {
l=read(),r=read(),x=read();
if(f==)l^=lastans,r^=lastans,x^=lastans;
gai(l,r,x);
}
if(t==) {
x=read(),y=read();
if(f)x^=lastans,y^=lastans;
cha(x,y);
cout<<ans<<"\n";
if(ans==-)lastans=;
else lastans=ans;
}
}
return ;
}

想要AC代码来这里

最新文章

  1. Android(Xamarin)之旅(五)
  2. 4809 江哥的dp题c
  3. JQuery Event属性说明
  4. ubuntu 开机显示错误:无法应用原保存的显示器配置
  5. SharePoint 2013 JQuery Asset Picket
  6. wx.html2.WebView在 target=&quot;_blank&quot; or rel=&quot;external&quot; 没有反映的解决方法
  7. 汉字转拼音Pinyin4j工具(C#、Java都可用)
  8. CodeForces 321A
  9. 拉电流(source current)与灌电流(sink current)
  10. 大兴雷克萨斯深度剖析2013款LS460L_深圳大兴雷克萨斯_太平洋汽车网
  11. Spring+struts+ibatis(一)环境准备工作
  12. 【转】GPS连续运行单参考站解决方案
  13. AIC与BIC
  14. 嵌入式Linux开发之uboot启动Linux整体流程分析
  15. [视频]K8飞刀 WordPress XSS添加管理员 &amp; GetShell 教程
  16. 【剑指offer】两个栈实现队列
  17. (三)Lua脚本语言入门(数组)
  18. JQ深度手记、源码分析
  19. Stack — 20181121
  20. JavaScript的兼容小坑和调试小技巧

热门文章

  1. springboot2 中Druid和ibatis(baomidou) 遇到org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.iflytek.pandaai.service.multi.mapper.TanancyMapper
  2. flink 注册函数示例
  3. spring 事务 XML
  4. HTML+CSS基础 css的尺寸
  5. 『大 树形dp』
  6. ArcGIS随机数生成
  7. RSA加密方法
  8. C#下的时间测试(用于计算方法执行时间)
  9. Python - 运算符 - 第五天
  10. List的Clear方法与RemoveAll方法用法小结