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

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. AcWing 1047. 糖果

    题目链接 题目描述: 由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券. 在这一天,Dzx可以从糖果公司的 N 件产品中任意选择若干件带回家享用 ...

  2. Python 图_系列之纵横对比 Bellman-Ford 和 Dijkstra 最短路径算法

    1. 前言 因无向.无加权图的任意顶点之间的最短路径由顶点之间的边数决定,可以直接使用原始定义的广度优先搜索算法查找. 但是,无论是有向.还是无向,只要是加权图,最短路径长度的定义是:起点到终点之间所 ...

  3. 帝国cms插件 一键替换数据表中已发表文章的内容关键字

    你是不是也在优化网站,是不是网站发展了一段时间之后才来做优化的,这样当然就会导致已经发表文章里的内容关键字,不能得到替换了! 小编根据后台替换内容关键字的程序,重写了一段 通过运行单个页面就能直接替换 ...

  4. 如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南

    0x00 前言简述 SSL/TLS 简单说明 描述: 当下越来越多的网站管理员为企业站点或自己的站点进行了SSL/TLS配置, SSL/TLS 是一种简单易懂的技术,它很容易部署及运行,但要对其进行安 ...

  5. gin框架使用【7.中间件使用】

    在 gin中,通过默认的函数,构建一个实现了带默认中间件的 *Engine. r := gin.Default() 默认绑定了Logger和Recovery中间件,帮助我们进行日志输出和错误处理. f ...

  6. Logistic regression中regularization失败的解决方法探索(文末附解决后code)

    在matlab中做Regularized logistic regression 原理: 我的代码: function [J, grad] = costFunctionReg(theta, X, y, ...

  7. .NET 7 预览版2 中的 ASP.NET Core 更新

    .NET 7 预览版2 现已推出,其中包括对ASP.NET Core 的许多重大改进. 以下是此预览版中新增内容的摘要: 推断来自服务的API 控制器操作参数 SignalR 集线器方法的依赖注入 为 ...

  8. JavaWeb和WebGIS学习笔记(五)——使用OpenLayers显示地图

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  9. python学习-Day24

    目录 今日内容详细 主菜 : ATM+购物车作业 项目开发流程 需求分析 架构设计 分组开发 项目测试 交付上线 需求分析 提炼项目功能 项目大致技术栈 架构设计 编程历经过程 三层架构 将ATM分为 ...

  10. Ubuntu22.04搭建PWN环境

    前言 最近尝试在Ubuntu最新的版本22.04版本上搭建PWN环境,有了之前在kali上搭建的经验,总的来说问题不大.但搭建的时候还是有不少地方出错了,好在搭建的过程中不断的拍摄快照,所以整个过程还 ...