这次又㕛叒叕垫底了。

哈哈哈,T1挂掉了,T3写崩了,T4暴力骗分。
T1
简化题意
判断一个 IP 地址是否合法(数据保证字符串中存在且仅存在4个被字符分开的整数),不合法时改正。
思路
简单模拟题,但我写挂了(没判断最后一位),学校数据甚至没有合法情况。
code
T2
简化题面
两个序列 。可以任意交换序列里的元素位置。
使排列后 最大。
思路
考虑贪心,使序列 均从小到大排序,在枚举出答案。
即如果 ,则一定
证明:
故
展开的
移项得
证毕
code
T3
洛谷原题P1764
思路
考场时用的是 洛谷原题P2040 的做法,只能跑过 的数据。
正解是开两个数组分别去存黑色和白色的情况,在一行一行的搜索,并判断是否符合。两种情况的答案取小。
code
#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
const int dx[]={0,1,0,-1,0};
const int dy[]={0,0,1,0,-1};
int n,a[20][20],b[20][20];
int ans,ans1=inf,ans2=inf;
int vis1[20][20],vis2[20][20];
inline bool check1(int x,int y){
if(!x||!y) return 0;
int res=a[x][y];
for(int i=0;i<5;++i){
int xx=x+dx[i],yy=y+dy[i];
res+=vis1[xx][yy];
}
return res&1;
}
inline void dfs1(int x,int y,int tot){
if(tot>=ans1) return ;
if(y==n+1) y=1,++x;
if(x==n+1){
for(int i=1;i<=n;++i)
if(check1(n,i))
return ;
ans1=tot;
return ;
}
vis1[x][y]=0;
if(!check1(x-1,y)) dfs1(x,y+1,tot);
vis1[x][y]=1;
if(!check1(x-1,y)) dfs1(x,y+1,tot+1);
}
inline bool check2(int x,int y){
if(!x||!y) return 0;
int res=b[x][y];
for(int i=0;i<5;++i){
int xx=x+dx[i],yy=y+dy[i];
res+=vis2[xx][yy];
}
return res&1;
}
inline void dfs2(int x,int y,int tot){
if(tot>=ans1||tot>=ans2) return ;
if(y==n+1) y=1,++x;
if(x==n+1){
for(int i=1;i<=n;++i)
if(check2(n,i))
return ;
ans2=tot;
return ;
}
vis2[x][y]=0;
if(!check2(x-1,y)) dfs2(x,y+1,tot);
vis2[x][y]=1;
if(!check2(x-1,y)) dfs2(x,y+1,tot+1);
}
signed main(void){
freopen("fz.in","r",stdin);
freopen("fz.out","w",stdout);
scanf("%d",&n);
char s;
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j){
cin>>s;
if(s=='b') a[i][j]=1;
if(s=='w') b[i][j]=1;
}
}
dfs1(1,1,0);dfs2(1,1,0);
int ans=min(ans1,ans2);
if(ans==0x3f3f3f3f) puts("Impossible");
else printf("%d\n",ans);
return 0;
}
T4
简化题面
给定 , 使得 。问有多少组 并输出每组 。
思路
根据定义, 其实就是把 到 之间的数字乘起来,乘法的增长速率是很大的,也就是说 和 的差值不会很大,很显然不超过 。
所以可以枚举 ,那么一定有 .
这样的话 和 也是在一个很小的范围内,可以直接枚举了。
code
总结
这次比赛,打到 9:30 就去干别的了,主要还是进度太垮了,T1因此报废,T4也只骗了10分。
哈哈哈,T1,T3题面上分别有要输出 Yes
和Impossible
。但学校数据点竟然都没有这种情况,真是吸取总司令的经验。
__EOF__
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本