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 最崩溃的来了 ...
随机推荐
- 【版本2020.03】使用idea导入maven项目
心得1:不同版本的idea,一些选项的名称稍微有点不同,比如以前导入项目的选项名称都是import Project,但是我使用的版本是2020.03 导入项目的名称是 import Settings ...
- Hyperledger Fabric的test-network启动过程Bash源码详解
前言 在基于Debian搭建Hyperledger Fabric 2.4开发环境及运行简单案例中,我们已经完成了Fabric 2.4的环境搭建及fabric-samples/test-network官 ...
- maven jar包冲突问题
之前好端端的项目没做任何改动maven依赖就报红?jar包冲突?不要慌,问题不大. idea file里面点击invalidate Caches/Restart清空项目缓存并重启,ok解决问题.
- 从实例学习 Go 语言、"基础与进阶" 学习笔记及心得体会、Go指南
第一轮学习 golang "基础与进阶"学习笔记,Go指南练习题目解析.使用学习资料 <Go-zh/tour tour>.记录我认为会比较容易忘记的知识点,进行补充,整 ...
- 一文搞懂MySQL事务的隔离性如何实现|MVCC
关注公众号[程序员白泽],带你走进一个不一样的程序员/学生党 前言 MySQL有ACID四大特性,本文着重讲解MySQL不同事务之间的隔离性的概念,以及MySQL如何实现隔离性.下面先罗列一下MySQ ...
- JavaWeb入门day10-JSP
JSP 什么是JSP Java Server Pages:Java服务器端页面,也和Servlet一样,用于动态Web技术 最大特点: 写JSP就像在写HTML 区别 HTML只给用户提供静态数据 J ...
- Codeforces Round #771 (Div. 2), problem: (B) Odd Swap Sort
Problem - B - Codeforces 就是给你个序列, 给他整成升序的, 每次操作可以使相邻两个数交换位置, 交换条件是二数之和为奇数 结果只需输出是否可以整成升序的 思路: 需要奇数偶数 ...
- (转)Angular中的拦截器Interceptor
什么是拦截器? 异步操作 例子 Session 注入(请求拦截器) 时间戳(请求和响应拦截器) 请求恢复 (请求异常拦截) Session 恢复 (响应异常拦截器) 转之:http://my.osch ...
- 解决windows下WslRegisterDistribution failed with error: 0x80070050的问题
最近升级了老电脑的windows10的系统,发现wsl2里面安装的ubuntu20.04不能在windows terminal正常启动了(我之前是把ubuntu20.04作为默认启动终端的.) 涉及报 ...
- XCTF练习题---MISC---Hidden-Message
XCTF练习题---MISC---Hidden-Message flag:Heisenberg 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现是一个数据包格式,打开看一下 3.查看UDP流,并 ...