牛客周赛 Round 49
1.高一上七月上旬日记
2.牛客周赛 Round 49
3.Denso Create Programming Contest 2024(AtCoder Beginner Contest 361)4.NOIP2024模拟15.NOIP2024模拟26.高一上七月中旬日记7.NOIP2024模拟38.CSP提高组模拟19.暑假集训CSP提高模拟110.暑假集训CSP提高模拟211.暑假集训CSP提高模拟312.暑假集训CSP提高模拟413.高一上七月下旬日记14.暑假集训 加赛115.暑假集训CSP提高模拟516.暑假集训CSP提高模拟617.加赛218.暑假集训CSP提高模拟719.暑假集训CSP提高模拟820.暑假集训CSP提高模拟921.暑假集训CSP提高模拟1022.暑假集训CSP提高模拟1123.暑假集训CSP提高模拟12牛客周赛 Round 49
牛客 NC275421 嘤嘤不想做计几喵
-
顺序结构。
点击查看代码
int main() { ll a,b; cin>>a>>b; cout<<a-b-b*10<<endl; return 0; }
牛客 NC275501 嘤嘤不想打怪兽喵
-
递归求解。
点击查看代码
ll ask(ll x) { return (x==1)?1:2*ask(x/2)+1; } int main() { ll h,i; cin>>h; cout<<ask(h)<<endl; return 0; }
牛客 NC275503 嘤嘤不想买东西喵
-
将
减 后等价于 luogu P1115 最大子段和 。点击查看代码
ll a[100010]; int main() { ll n,x,sum=0,ans=0,i; cin>>n>>x; for(i=1;i<=n;i++) { cin>>a[i]; a[i]-=x; sum=max(a[i],sum+a[i]); ans=max(ans,sum); } cout<<ans<<endl; return 0; }
牛客 NC275631 嘤嘤不想求异或喵
-
把式子拆成前缀异或的形式,有
。以下只讨论 的解法。 -
由
,把 拆成 ,即 。 -
特判边界。
点击查看代码
ll ask(ll x) { if(x%4==0) { return x; } if(x%4==1) { return 1; } if(x%4==2) { return x+1; } if(x%4==3) { return 0; } return 114514; } int main() { ll t,l,r,i,j; cin>>t; for(i=1;i<=t;i++) { cin>>l>>r; cout<<(ask(r)^ask(l-1))<<endl; } return 0; }
牛客 NC275518 嘤嘤不想解方程喵
-
等价于求
的解的数量。 -
大力分讨。
- 非方程
- 无解
- 无数组解
- 一元一次方程
- 一组解
- 二元一次方程
- 两组解
- 一组解
- 无解
- 非方程
-
懒得用高精。人生苦短,我用 Python 。
点击查看代码
t=int(input()) for i in range(t): a1,b1,c1,a2,b2,c2=[int(x) for x in input().split()] a=a1*b2 b=b1*b2+a2 c=b2*c1+c2 if a==0: if b==0: if c==0: print("INF") else: print(0) else: print(1) else: if b*b>4*a*c: print(2) if b*b==4*a*c: print(1) if b*b<4*a*c: print(0)
牛客 NC275523 嘤嘤不想找最小喵
-
对于
,有 ,三段一位位判断不如哈希起来后一起判断。 -
选个好点的模数和进制。
点击查看代码
const ull base=133311111; ull s[500010],a[500010],jc[500010]; void sx_hash(ull s[],ull a[],ull len) { for(ull i=0;i<=len;i++) { a[i]=(i==0)?0:a[i-1]*base+s[i]; } } ull ask_hash(ull a[],ull l,ull r) { return a[r]-a[l-1]*jc[r-l+1]; } int main() { ull n,i,k; cin>>n; for(i=0;i<=n;i++) { jc[i]=(i==0)?1:jc[i-1]*base; } for(i=1;i<=n;i++) { cin>>s[i]; } sx_hash(s,a,n); for(k=1;k<=n;k++) { if(ask_hash(a,1,n-2*k)+ask_hash(a,2*k+1,n)==2*ask_hash(a,k+1,n-k)) { cout<<k<<endl; break; } } return 0; }
总结
- 开
long long
。 - 记得判断方程的存在性。
- 速通 Python 要提上日程了。
- 进制要大于值域。
本文来自博客园,作者:hzoi_Shadow,原文链接:https://www.cnblogs.com/The-Shadow-Dragon/p/18277000,未经允许严禁转载。
版权声明:本作品采用 「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0) 进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】