比赛时和昨天一样困,后面的大奆打代码的速度简直了

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 去世记的更多相关文章

  1. GDKOI 2021 Day3 PJ 懵逼记

    今天早了一点起来,初三的大奆都来做比赛了, 自然,自测的有许多 AK 虽然今天的题比昨天简单,但还是脑子还是十分迟钝,以至于贪心都想不出 真为明天的提高组而担忧 T1 斜率被卡 90 ,直接用勾股定理 ...

  2. GDKOI 2021 Day1 PJ 爆炸记

    早上睡到 7:10 分才想起今天有 GDKOI ,赶紧去买了一个面包赶去机房 发现隔壁的大奆都过来了.比赛时由于昨晚一直没睡好,打了两个小时的哈欠 T1 :暴力模拟 根据 \(r\) 和 \(c\) ...

  3. GDKOI 2021 Day2 TG 总结

    又是爆炸的一天,炸多了本蒟蒻已经习以为常 但今天比昨天整整高了 40 分!!!!却还是没有 100 今天本蒟蒻本想模仿奆佬的打字速度,结果思路混乱让我无法开始 T1 不是吧怎么是期望 dp ,期望值怎 ...

  4. noip2017 PJ AK记

    嗨小朋友们大家好,还记得我是谁吗?我就是为RE代言的蒟蒻--xzz day1 蛤?四楼只有一个考场???在逗我 然后解压 蛤?空军68年????我怎么不知道???huaji 蛤?T1这么sb?切掉 蛤 ...

  5. ZJOI2018 Day2 滚粗记 + 流水账

    一脸懵逼地就被直接拉过来浙江省选了,一年参加两次省选成就达成-- 讲课啥的都没听,过去休息了一天就进行比赛了.考试之前感冒没好透,精神不是 \(100\%\) 的状态,但是并无大碍(反正最后都很凉). ...

  6. 2021/1/20随记,MTU

    背景: 事情是这样的,客户2台防火墙部署了ipsec,内网互通,但是其中ssh以及其他大命令之类的操作就会卡住,简单的vi命令可以使用. 解决: 排除网络问题,因为内网互通,其次是系统层面问题,最终定 ...

  7. GDOI 2021 普及组溺水记

    Day 1 T1 一看样例:答案不就是 \(\dfrac{\max_{i=1}^n a_i +1}{2}\) 吗? 于是自信打上,拍都不拍.然后就,,对了? 插曲:自己出了一个极端数据,发现 scan ...

  8. GDKOI 2021 Day1 TG 。。。

    看着一群群比 LHF , HQX 还强的大佬涌进了机房,本蒟蒻表示慌得一批 T1 讲题人说最简单的签到题本蒟蒻表示... \(Update\) 用 ds , dt 两个变量记录点 i 连向 s 或 t ...

  9. CSP 2021 总结

    CSP 2021 总结 PJ 开题顺序:1342 应该先做 T2 ,导致我 T2 直接看错 T1.T3 T1 :直接推规律即可,考场的想法应该正确 T3 :好家伙直接 map 走起 T2 最崩溃的来了 ...

随机推荐

  1. JavaScript面向对象的方式开发轮播图插件

    轮播图是很多页面必不可少的组件.这里来使用面向对象方式开发一个插件.减去开发的痛楚 首先需要寻找对象:只有一个对象,轮播图!关键点在于找到这个对象所拥有的属性以及方法,通过代码实现出来,这是面向对象最 ...

  2. 小程序安卓端播放不了音频解决方法wx.createInnerAudioContext()

    在小程序播放音频时,使用组件wx.createInnerAudioContext(),安卓端无法播放音频. 我的情况:播放服务器上传来的音频,格式为mp3.首先查看你的格式是否符合文档要求 在安卓端进 ...

  3. Mybatis-typeAliases的作用

    其他具体代码请访问->mybatis的快速入门 1.在mybatis核心配置文件SqlMapperConfig.xml中配置别名 <!-- 定义别名--> <typeAlias ...

  4. redis集群在线迁移第一篇(数据在线迁移至新集群)实战一

    迁移背景:1.原来redis集群在A机房,需要把其迁移到新机房B上来.2.保证现有环境稳定.3.采用在线迁移方式,因为原有redis集群内有大量数据.4.如果是一个全新的redis集群搭建会简单很多. ...

  5. java高级用法之:JNA类型映射应该注意的问题

    目录 简介 String Buffers,Memory,数组和Pointer 可变参数 总结 简介 JNA提供JAVA类型和native类型的映射关系,但是这一种映射关系只是一个大概的映射,我们在实际 ...

  6. linux 下通过fork实现后台运行进程

    1 # 通常建议使用双fork方法.在每个fork处,父级退出,子级继续 2 3 #!/usr/bin/env python 4 5 import time,platform 6 7 import o ...

  7. XCTF练习题---WEB---command_execution

    XCTF练习题---WEB---command_execution flag:cyberpeace{69383c056080bd6cd649578894d1d377} 解题步骤: 1.观察题目,打开场 ...

  8. [AcWing 778] 字符串最大跨距

    点击查看代码 #include<iostream> using namespace std; string s, s1, s2; int main() { char c; while (c ...

  9. 五四青年节,今天要学习。汇总5道难度不高但可能遇到的JS手写编程题

    壹 ❀ 引 时间一晃,今天已是五一假期最后一天了,没有出门,没有太多惊喜与意外.今天五四青年节,脑子里突然想起鲁迅先生以及悲欢并不相通的话,我的五一经历了什么呢,忍不住想说那大概是,父母教育孩子大声嚷 ...

  10. 完爆Docker!推荐你看下这个....

    现如今,互联网行业的每个人都知道数据的价值,很多人也为此学了一堆的数据分析工具,但面对问题,还是不知道如何去分析. 我们在奔向升职加薪的路上,总会遇到这些问题: 面对数据问题,没有思路,怎么办? 面对 ...