11.15 NOIP2024模拟赛#22 div1
很好的比赛,全是贪心
T1
一眼 \(i_4\) ~ \(i_7\) 相连
然后枚举 \(i_1\),枚举 \(i_4\)
在 \(i_1\) ~ \(i~4\) 中枚举 \(i_2\) 和 \(i_3\)
然后这个复杂度是 \(O(n^4)\) 的
考虑(盲猜)\(i_1\) 与 \(i_4\) 最大距离为 \(6\)
复杂度变为 \(O(6^3n)\)
甚至还是最优解
赛后一看,全是乱搞过的(
然鹅我文件名 friend
打成 friends
QwQ
点击查看代码
#include<bits/stdc++.h>
#define int long long
#define ll long long
#define fd(i,a,b) for(int i=(a);i<=(b);i=-~i)
#define bd(i,a,b) for(int i=(a);i>=(b);i=~-i)
#define db(x) cout<<"DEBUG "<<#x<<" = "<<x<<endl;
#define endl '\n'
using namespace std;
//#define SIZE (1<<20)
//char In[SIZE],Out[SIZE],*p1=In,*p2=In,*p3=Out;
//#define getchar() (p1==p2&&(p2=(p1=In)+fread(In,1,SIZE,stdin),p1==p2)?EOF:*p1++)
inline int read()
{
int x=0,f=1;char c=getchar();
while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+(c-48);c=getchar();}
return x*f;
}
const int N=1e6+509,M=1e6+509,mod=998244353;
int n,a[N],sum[N];
signed main()
{
#define FJ
#ifdef FJ
freopen("friend.in","r",stdin);
freopen("friend.out","w",stdout);
#else
freopen("C:/Users/Lenovo/Desktop/比赛/2024.11.14/down/friend7.in","r",stdin);
// freopen("C:/Users/Lenovo/Desktop/比赛/2024.11.14/down/friends.out","w",stdout);
#endif
//#define io
#ifdef io
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
#endif
n=read();
fd(i,1,n) a[i]=read();
sort(a+1,a+n+1,[&](int x,int y){return x>y;});
// fd(i,1,n) printf("%lld ",a[i]);
//pre
sum[n-3]=a[n]+a[n-1]+a[n-2]+a[n-3];
bd(i,n-4,1) sum[i]=sum[i+1]-a[i+4]+a[i];
int mx=0,fl=0;
fd(i1,1,n-6)
{
fd(i4,i1+3,min(n-3,i1+8))
{
fd(i2,i1+1,i4-2) fd(i3,i2+1,i4-1)
{
if(a[i1]<a[i2]+a[i3]&&a[i2]+a[i3]<sum[i4])
fl=1,mx=max(mx,a[i1]+sum[i4]+a[i2]+a[i3]);
}
}
}
if(fl) printf("%lld",mx);
else printf("-1");
return 0;
}
T2
瞪眼法发现能单独拿就单独拿
然后写个 string
过了大样例,就不管了,然鹅大样例太水,T 了 \(40\) 分
改成哈希就过了(
T3
发现倒着连边相当于改链头
然后如果没有删除操作可以线段树区间修改
然鹅我分块样例过不去
一气之下直接交了
没想到有 \(25\)……
直接是线段树分治
T4
正解是分组构造
总结
- T1 叒挂分了
本文来自博客园,作者:whrwlx,转载请注明原文链接:https://www.cnblogs.com/whrwlx/p/18556682
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!