A-暴力模拟

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
string day[]={"Monday","Tuesday","Wednesday","Thursday","Friday"};
int t;
ll y11,m1,d1,y2,m2,d2;
string s1;
int main(){cin>>t;while(t--){cin>>y11>>m1>>d1;cin>>s1;cin>>y2>>m2>>d2;ll ans1=y11*360+(m1-1)*30+d1;ll ans2=y2*360+(m2-1)*30+d2;int tt=0;for(int i=0;i<=4;i++){if(s1==day[i]){tt=i;break;      }}if(ans1>=ans2){ans1-=ans2;ans1%=5;cout<<day[(tt-ans1+5)%5]<<endl;    }else{ans2-=ans1;ans2%=5;cout<<day[(tt+ans2)%5]<<endl;}}return 0;
}

View Code

B-dp+组合数

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const ll mod=998244353;
const int maxn=110;
int n,k,m,t;
char st[maxn],ed[maxn];
ll dp[maxn][maxn];
ll C[maxn][maxn];void init(){C[0][0]=1;for(int i=1;i<=105;i++){C[i][0]=C[i][i]=1;for(int j=1;j<i;j++)C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod;}
}int main(){init();scanf("%d",&t);while(t--){scanf("%d%d%d",&n,&k,&m);scanf("%s",st+1);scanf("%s",ed+1);memset(dp,0,sizeof(dp));int s=0;for(int i=1;i<=n;i++){if(st[i]!=ed[i]) s++;}dp[0][s]=1;for(int i=0;i<k;i++){for(int j=0;j<=n;j++){if(dp[i][j]==0) continue;for(int kk=0;kk<=j;kk++){ //DAODAint k2=m-kk;// bu dao daif(k2>(n-j)) continue;if(k2<0) continue;dp[i+1][(j-kk)+k2]=(dp[i+1][(j-kk)+k2]+dp[i][j]*C[j][kk]%mod*C[n-j][k2]%mod)%mod;} }}printf("%lld\n",dp[k][0]);}return 0;
}

View Code

C-傻逼题

#include<bits/stdc++.h>
using namespace std;
#define maxn 100005
#define ll long long
ll t,x,y,n,k,ans;
char s[maxn];int main(){cin>>t;while(t--){ans=x=y=0;cin>>n>>k;scanf("%s",s);int len=strlen(s);for(int i=0;i<len;i++){if(s[i]=='R')x++;if(s[i]=='L')x--;if(s[i]=='U')y++;if(s[i]=='D')y--;ans=max(ans,abs(x)+abs(y));}x*=(k-1);y*=(k-1);ans=max(ans,abs(x)+abs(y));for(int i=0;i<len;i++){if(s[i]=='R')x++;if(s[i]=='L')x--;if(s[i]=='U')y++;if(s[i]=='D')y--;ans=max(ans,abs(x)+abs(y));}cout<<ans<<endl;}
}

View Code

D-简单图论

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,k,m;
char s[200005];
int main(){int t;cin>>t;while(t--){cin>>k;scanf("%s",s);cin>>n>>m;for(int i=1;i<=m;i++){int u,v;scanf("%d%d",&u,&v);}ll tot=(m-n+1)%k;cout<<3-(s[tot]-'0')<<endl;}
}

View Code

F-贪心

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n,a[100005];
int main(){int t;cin>>t;while(t--){cin>>n;ll sum=0;for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int i=1;i<=n;i++)sum+=a[i];ll p=sum%n,q=sum/n,ans=p;for(int i=1;i<=n;i++)if(a[i]<q)ans+=(q-a[i]);cout<<ans<<endl;}
}

View Code

H-贪心

#include<bits/stdc++.h>
#include<queue>
#define maxn 100005
using namespace std;
struct Node{int l,r;bool operator<(Node a)const {return r>a.r;}
}p[maxn];
int cmp(Node a,Node b){if(a.l==b.r)return a.r<b.r;return a.l<b.l;
}priority_queue<Node>pq;int t,n,m;int main(){cin>>t;while(t--){cin>>n;for(int i=1;i<=n;i++)scanf("%d%d",&p[i].l,&p[i].r);sort(p+1,p+1+n,cmp);while(!pq.empty())pq.pop();//    pq.push(p[1]);int id=1,ans=0,pos=p[1].l;while(id<=n){//把所有包含pos的线段加入pq,移动pos if(id>n)break;else pos=p[id].l;while(id<=n && pos<=p[id].r && pos>=p[id].l){pq.push(p[id++]);}while(pq.size() && pos<p[id].l){if(pos<=pq.top().r)ans++,pos++;pq.pop();}            }while(pq.size()){if(pos<=pq.top().r)ans++,pos++;pq.pop();}cout<<ans<<endl;}
} 

View Code

L-拓扑排序

#include <bits/stdc++.h>
using namespace std;#define pb push_back
#define clr(a,b) memset(a,b,sizeof(a))
#define REP(i,s,t) for(int i=s;i<=t;i++)
const int N = 110;vector<int>G1[N],G2[N];bool fp;
int n,m,cnt1,cnt2;
int in[N],vis[N];inline void init(){fp=false;REP(i,0,n)G1[i].clear();REP(i,0,n)G2[i].clear();clr(in,0);
}
inline void Toposort(){queue<int>q;REP(i,1,n) if(in[i]==0){q.push(i);}int num=0;while(!q.empty()){int u=q.front();q.pop();num++;for(int i=0;i<G1[u].size();i++){int v=G1[u][i];in[v]--;if(in[v]==0)q.push(v);}}if(num<n)fp=true;
}
void dfs1(int u){vis[u]=1;for(int i=0;i<G1[u].size();i++){int v=G1[u][i];if(!vis[v]){cnt1++,dfs1(v);          //将其正向能够达到的点全部标记
        }}
}
void dfs2(int u){vis[u]=1;for(int i=0;i<G2[u].size();i++){int v=G2[u][i];if(!vis[v]){cnt2++,dfs2(v);}}
}
int main(){int T;cin>>T;while(T--){init();scanf("%d%d",&n,&m);REP(i,1,m){int u,v;scanf("%d%d",&u,&v);G1[u].pb(v);G2[v].pb(u);in[v]++;if(u==v)fp=true;          }Toposort();if(fp){REP(i,1,n)printf("0");puts("");}else{REP(i,1,n){cnt1=cnt2=0;clr(vis,0);dfs1(i);clr(vis,0);dfs2(i); //printf("cnt1=%d,cnt2=%d\n",cnt1,cnt2);if(cnt1<=n/2 && cnt2<=n/2){printf("1");}else printf("0");}puts("");}
//        if(T)printf(" ");
//        else puts("");
    }
}

View Code

转载于:https://www.cnblogs.com/zsben991126/p/10887813.html

2019山东省赛总结相关推荐

  1. 2019山东省赛记事

    第一次打省赛,不得不说真是一波三折,好在队友给力hh 备战时: 省赛前两天和田健师兄跑去了杭州团聚(玩),对于晓龙师兄独自打比赛,我们深感歉意(贼爽),杭州体验很不错(虽然目前为此要吃土很久) 回来以 ...

  2. 2019山东省赛B - Flipping Game ZOJ - 4114 题解

    题意: 初始有n个灯泡,灯泡状态是0和1,.现在有k轮操作,每次改变且仅改变m个的灯的状态,给定n盏灯的初始状态的最终状态,求有多少种解决改变灯的方案满足可以满足题目条件. 思路: 开始写的时候以为是 ...

  3. The 10th Shandong Provincial Collegiate Programming Contest 2019山东省赛游记+解题报告

    比赛结束了几天...这篇博客其实比完就想写了...但是想等补完可做题顺便po上题解... 5.10晚的动车到了济南,没带外套有点凉.酒店还不错. 5.11早上去报道,济南大学好大啊...感觉走了一个世 ...

  4. ACM-ICPC 2019 山东省省赛总结

    五题手快拿银,不然拿铜,甚至不拿,从结果上来看拿了铜牌对第一年的我们来说算好的,也不算太好. 从拿奖后的第一天,我想写这篇博客,但是我忍了下来,那时候被喜悦冲昏了头脑,当 冷静下来,我开始打算写这篇博 ...

  5. java 分班_J 分班(class)(NYIST 2019年校赛)

    J 分班(class)(NYIST 2019年校赛) 内存限制:256MB 时间限制:1s Special Judge: No 题目描述: jsb 是 XX 市第一中学的校长.一轮模拟考试结束后,js ...

  6. 2019ACM浪潮杯山东省赛参赛总结

    emmm是要记录一下生活了呢,不然以后退役了连自己经历过什么都记不住了. 5.11周六,早上5:30分,qdu集训队一行40人(左右)集合登上大巴,前往济南大学参加ACM省赛.上车清点了一下人数,然后 ...

  7. 2019电赛纸张计数仪分析——————致敬“谢谢惠顾”

    2019电赛国赛还没出结果,但我感觉我应该是"成功参与"了. 就不给大家讲讲我们的方案----进行一波反思. 先看传感器我们用的fdc2214,没什么问题.问题出在了主控板上,我现 ...

  8. 2016第七届ACM山东省赛

     "题目说的是输出编号.输出编号!!" "好,改好了." "交." 最后两分钟再一次提交了代码. no  -  wrong. 奋战到最后一秒 ...

  9. 2019电赛总结(一)

    2019电赛总结(一) 文章目录 2019电赛总结(一) 4 那之前 5 电赛初期 6 电赛中期 7 电赛强化练习 8 电赛预热阶段8月初 9 那以后 4 那之前 2019电赛总结(序) 5 电赛初期 ...

  10. 2019电赛--OpenMV学习笔记

    此文章在我的博客链接:https://sublimerui.top/archives/f10b0e1a.html NOTES:2019电赛结束啦~辛辛苦苦4天后,现已经写成了针对题目的OpenMV总结 ...

最新文章

  1. 数据库中关于convert的参数学习(转化函数用法)
  2. centos7下端口映射
  3. Spring框架:跨域问题之使用@CrossOrigin注解解决失败的原因总结
  4. 如何在 CentOS 中设置 NTP 服务器
  5. Call to undefined function imagettftext()解决方法
  6. Android 系统(119)---Android启动页黑屏及最优解决方案
  7. 【莫队算法】【权值分块】bzoj3920 Yuuna的礼物
  8. .NET Core微服务之基于Steeltoe使用Zipkin实现分布式追踪
  9. 两个音轨合并_怎么合并音频文件 两个音频合并成一个
  10. Linux基础-虚拟数据优化器VDO
  11. 微信公众平台开发(2)--微信认证流程图文详解
  12. FFmpeg初探——基于FFmpeg的图片合成视频
  13. 计算机专业硕士毕业论文,计算机专业硕士毕业论文致谢范文
  14. 这是计算机房吗 用英语怎么写,城镇英文怎么说_城镇的英文怎么写 - 沪江英语...
  15. css html 鼠标手型,鼠标形状,鼠标效果,样式
  16. EasyUi DataGrid打印问题处理
  17. python获取文件后运行不了_Python文件执行后一闪而过的解决方案
  18. 学计算机 有什么好的二本大学排名,二本大学排名
  19. 诚信通(b2b)信息发布5大核心技巧
  20. C/C++简单实现文件分块

热门文章

  1. 基于用户喜好以及电影类型的电影推荐算法
  2. jQuery动画入门--顺序执行
  3. 分享200个App移动端模板
  4. 天刀 服务器状态,12月11日服务器例行维护公告(已完成)
  5. 澳洲国立大学的计算机专业,澳洲国立大学计算机专业前景和申请详解
  6. amd 服务器cpu型号怎么看,AMD CPU型号识别方法图解
  7. linux 运行有道词典,ubuntu安装有道词典的教程详解
  8. 机器学习—确定系数R2
  9. Python Turtle画奥运标志
  10. mysql 磁盘满_mysql磁盘满了如何恢复