GDKOI 2021 Day2 PJ 去世记
比赛时和昨天一样困,后面的大奆打代码的速度简直了
T1
用 2、4、6、8 来与 5 抵消掉末尾的 0 ,然后用周期问题的方法直接乘起来并取个位
#include<bits/stdc++.h>
using namespace std;
const int tw[4]={6,2,4,8};
const int th[4]={1,3,9,7};
const int fr[4]={6,4};
const int sv[4]={1,7,9,3};
const int gi[4]={6,8,4,2};
const int nn[4]={1,9};
int ans=1,x[15];
int main() {
freopen("math.in","r",stdin);
freopen("math.out","w",stdout);
for(int i=1;i<11;i++)scanf("%d",&x[i]);
if(x[2]>x[5])x[2]-=x[5],x[5]=0;
else x[5]-=x[2],x[2]=0;
if(x[4] && x[5]) {
if(x[4]>x[5])ans*=tw[x[5]%4],x[4]-=x[5],x[5]=0;
else ans*=tw[x[4]%4],x[5]-=x[4],x[4]=0;
}
if(x[6] && x[5]) {
if(x[6]>x[5])ans*=th[x[5]%4],x[6]-=x[5],x[5]=0;
else ans*=th[x[6]%4],x[5]-=x[6],x[6]=0;
}
if(x[8] && x[5]) {
if(x[8]>x[5])ans*=fr[x[5]%4],x[8]-=x[5],x[5]=0;
else ans*=fr[x[8]%4],x[5]-=x[8],x[8]=0;
}
if(x[2])ans*=tw[x[2]%4];
if(x[3])ans*=th[x[3]%4];
if(x[4])ans*=fr[x[4]&1];
if(x[6])ans*=6;
if(x[7])ans*=sv[x[7]%4];
if(x[8])ans*=gi[x[8]%4];
if(x[9])ans*=nn[x[9]&1];
if(x[5])ans*=5;
printf("%d",ans%10);
}
T2
用 Bfs 维护每一个点管理的值域和它在原数组中的下标,模拟即可
#include<bits/stdc++.h>
using namespace std;
struct rg {
int l,r,p;
rg(int x,int y,int z):
l(x),r(y),p(z) { }
}u(0,0,0);
int T,n,k,x[100005];
queue<rg>q;
inline bool Bfs() {
q.push(rg(1,n,1)),k=1;
while(!q.empty()) {
u=q.front(),q.pop();
if(x[k+1]<x[u.p] && x[k+2]>x[u.p])
if(x[k+1]>=u.l && x[k+1]<=u.r && x[k+2]>=u.l && x[k+2]<=u.r) {
q.push(rg(u.l,x[u.p]-1,k+1)),q.push(rg(x[u.p]+1,u.r,k+2)),k+=2;
}
}
}
int main() {
freopen("tree.in","r",stdin);
freopen("tree.out","w",stdout);
scanf("%d",&T);
while(T--) {
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&x[i]);
Bfs();
if(k<n)puts("NO");
else puts("YES");
}
}
T3
倍增。还要打人工栈
不会
T4
直接把原图限平分可以得到一个 0/1 的图,发现部分分中有这一等,
可以建边然后二分图匹配,本蒟蒻学奆佬打 Dinic 结果 Wa 40
望大神指正
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=2005,M=2010000;
int n,cnt=1,S,T,dep[N],vis[N],lst[N],cur[N],nxt[M],to[M];
LL qz[M],x[N][N],y[N][N],fl[M],R[N],C[N];
queue<int>q;
inline void Ae(int fr,int go,int vl) {
to[++cnt]=go,qz[cnt]=vl,nxt[cnt]=lst[fr],lst[fr]=cnt;
}
inline bool Bfs() {
for(int i=1;i<=T;i++)cur[i]=lst[i];
memset(dep,0,sizeof(dep));
memset(vis,0,sizeof(vis));
q.push(S),vis[S]=1;
while(!q.empty()) {
register int u=q.front(); q.pop();
for(int i=lst[u],v;i;i=nxt[i])
if(!vis[v=to[i]] && qz[i]>fl[i]){
dep[v]=dep[u]+1;
q.push(v),vis[v]=1;
}
} return dep[T];
}
LL Dfs(int u,LL low){
if(u==T||low==0) return low;
register LL use=0,rl;
for(int &i=cur[u],v;i;i=nxt[i])
if(dep[u]+1==dep[v=to[i]]) {
if(rl=Dfs(v,min(low,qz[i]-fl[i]))) {
fl[i]+=rl,fl[i^1]-=rl,use+=rl,low-=rl;
if(!low) break;
}
}
return use;
}
inline void Dinic() {
while(Bfs()) {
while(Dfs(S,10000000000000000ll));
}
}
int main() {
// freopen("matrix.in","r",stdin);
// freopen("matrix.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) {
scanf("%lld",&x[i][j]);
C[j]+=x[i][j];
R[i]+=x[i][j];
}
S=n*2+1,T=n*2+2;
for(int i=1;i<=n;i++) {
Ae(S,i,R[i]/2),Ae(i,S,0);
Ae(i+n,T,C[i]/2),Ae(T,i+n,0);
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) {
Ae(i,j+n,x[i][j]),Ae(j+n,i,0);
}
Dinic();
for(int i=1;i<=n;i++)
for(int j=lst[i];j;j=nxt[j]) {
y[i][to[j]-n]=fl[j^1]>0?fl[j^1]:-fl[j^1];
}
for(int i=1;i<=n;i++) {
for(int j=1;j<=n;j++)
printf("%lld ",y[i][j]);
putchar(10);
}
for(int i=1;i<=n;i++) {
for(int j=1;j<=n;j++)
printf("%lld ",x[i][j]-y[i][j]);
putchar(10);
}
return 0;
}
总结
今天爆零,我不禁担忧自己的提高组,
正好今天听了高嘉煊的讲话,希望我注意一下自己的训练方式
GDKOI 2021 Day2 PJ 去世记的更多相关文章
- GDKOI 2021 Day3 PJ 懵逼记
今天早了一点起来,初三的大奆都来做比赛了, 自然,自测的有许多 AK 虽然今天的题比昨天简单,但还是脑子还是十分迟钝,以至于贪心都想不出 真为明天的提高组而担忧 T1 斜率被卡 90 ,直接用勾股定理 ...
- GDKOI 2021 Day1 PJ 爆炸记
早上睡到 7:10 分才想起今天有 GDKOI ,赶紧去买了一个面包赶去机房 发现隔壁的大奆都过来了.比赛时由于昨晚一直没睡好,打了两个小时的哈欠 T1 :暴力模拟 根据 \(r\) 和 \(c\) ...
- GDKOI 2021 Day2 TG 总结
又是爆炸的一天,炸多了本蒟蒻已经习以为常 但今天比昨天整整高了 40 分!!!!却还是没有 100 今天本蒟蒻本想模仿奆佬的打字速度,结果思路混乱让我无法开始 T1 不是吧怎么是期望 dp ,期望值怎 ...
- noip2017 PJ AK记
嗨小朋友们大家好,还记得我是谁吗?我就是为RE代言的蒟蒻--xzz day1 蛤?四楼只有一个考场???在逗我 然后解压 蛤?空军68年????我怎么不知道???huaji 蛤?T1这么sb?切掉 蛤 ...
- ZJOI2018 Day2 滚粗记 + 流水账
一脸懵逼地就被直接拉过来浙江省选了,一年参加两次省选成就达成-- 讲课啥的都没听,过去休息了一天就进行比赛了.考试之前感冒没好透,精神不是 \(100\%\) 的状态,但是并无大碍(反正最后都很凉). ...
- 2021/1/20随记,MTU
背景: 事情是这样的,客户2台防火墙部署了ipsec,内网互通,但是其中ssh以及其他大命令之类的操作就会卡住,简单的vi命令可以使用. 解决: 排除网络问题,因为内网互通,其次是系统层面问题,最终定 ...
- GDOI 2021 普及组溺水记
Day 1 T1 一看样例:答案不就是 \(\dfrac{\max_{i=1}^n a_i +1}{2}\) 吗? 于是自信打上,拍都不拍.然后就,,对了? 插曲:自己出了一个极端数据,发现 scan ...
- GDKOI 2021 Day1 TG 。。。
看着一群群比 LHF , HQX 还强的大佬涌进了机房,本蒟蒻表示慌得一批 T1 讲题人说最简单的签到题本蒟蒻表示... \(Update\) 用 ds , dt 两个变量记录点 i 连向 s 或 t ...
- CSP 2021 总结
CSP 2021 总结 PJ 开题顺序:1342 应该先做 T2 ,导致我 T2 直接看错 T1.T3 T1 :直接推规律即可,考场的想法应该正确 T3 :好家伙直接 map 走起 T2 最崩溃的来了 ...
随机推荐
- Exchange 2013 清空邮箱
在某些应用场景中,需要清空用户邮箱的所有数据.如果使用Outlook web app或者Outlook 的邮件删除方式,对数以千计的邮件来说,实在不是一个好办法.exchange管理员可以使用&quo ...
- Docker入门(windows版),利用Docker创建一个Hello World的web项目
Docker 当大家点开这篇博客的时候,相信大家对docker多多少少也有些认识了,最近学习docker这门技术,略微有些心得,写篇文章记录一下学习过程并帮大家跳过一些坑. docker的核心有两个, ...
- Visual Studio 打包和安装 exe
# Visual Studio 打包和安装 exe > **小型项目(无复杂的库)** //VS2022 作为演示平台 > 1.解决方案配置 = Release > 2.解决 ...
- oracle查看当前用户表结构、主键、索引
1.查询表的所有列及其属性 select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = ...
- MySQL8.0.x 版本安装步骤傻瓜式教程【官方版】
MySQL8.0.x 安装 一.下载 MySQL官网下载链接:https://downloads.mysql.com/archives/community/ 选择版本后下载zip文件 博主选择的是8. ...
- 论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》
论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...
- 深度学习教程 | Seq2Seq序列模型和注意力机制
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/35 本文地址:http://www.showmeai.tech/article-det ...
- 攻防世界-MISC:embarrass
这是攻防世界高手进阶区的第二题,题目如下: 点击下载附件一,得到一个压缩包,解压后得到一个流量包 用wireshake打开,CTRL+F搜索字符串flag,记住要选择分组字节流 点击查找 在点击几次过 ...
- 5.文件共享总结中篇-Linux服务器文件共享
今天我们来讨论Linux系统之间的文件共享,包含:SCP.FTP.rz / sz.wget 一.SCP 其实我在写SSH协议常见问题排错章节中已介绍其SCP用法. 现我把SCP常用语法格式,给大家说下 ...
- 微服务生态组件之Spring Cloud LoadBalancer详解和源码分析
Spring Cloud LoadBalancer 概述 Spring Cloud LoadBalancer目前Spring官方是放在spring-cloud-commons里,Spring Clou ...