CODEFORCES掉RATING记 #3
比赛:Codeforces Round #426 (Div. 2)
时间:2017.7.30晚
开场先看AB
A:给你两个方向,和旋转次数(每次旋转90度),问你旋转方向是什么
B:给你一个字符串,问你是否存在一个位置使得它前面后面都出现过的字母>k个
前两题比较简单
C:两个人在玩一个游戏。初始时两个人的分数都是1。每次一个人的分数×k,另一个人的分数×k2。给你n个结果问有没有可能出现这个结果。
pollard rho暴力分解质因数
可以发现k是质数的情况与原题是等价的。
设两个人的分数为x,y,设a=gcd(x,y),b=xya2
如果a是b的倍数而且ab只有三次项那么结果是合法的
1~1000中只有168个质数,枚举质数暴力除即可。但是因为除法很慢所以会被卡常
后来我看到一个简单的做法,直接把x×y开三次方,然后判断是不是x和y的因子。
D:设当前这个数(ai)上一次出现的位置为j,那么切割j~i−1这段都会产生1的贡献。用线段树维护
时间复杂度:O(nk\logn)
E:有一种奇怪的做法:先枚举0~9各出现几次,再用搜索判断是否存在这类数。zjt大爷说时间复杂度没有保证,但是我本机极限数据只跑了0.6秒。时间复杂度还是有保证的,大概是O(C926)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何调试 malloc 的底层源码
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· 25岁的心里话
· 因为Apifox不支持离线,我果断选择了Apipost!
· 零经验选手,Compose 一天开发一款小游戏!
· Trae 开发工具与使用技巧
· 通过 API 将Deepseek响应流式内容输出到前端