Processing math: 100%

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
  如果ab的倍数而且ab只有三次项那么结果是合法的
  1~1000中只有168个质数,枚举质数暴力除即可。但是因为除法很慢所以会被卡常
  后来我看到一个简单的做法,直接把x×y开三次方,然后判断是不是xy的因子。
  D:设当前这个数(ai)上一次出现的位置为j,那么切割j~i1这段都会产生1的贡献。用线段树维护
  时间复杂度:O(nk\logn)
  E:有一种奇怪的做法:先枚举0~9各出现几次,再用搜索判断是否存在这类数。zjt大爷说时间复杂度没有保证,但是我本机极限数据只跑了0.6秒。时间复杂度还是有保证的,大概是O(C926)

posted @   ywwyww  阅读(314)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何调试 malloc 的底层源码
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
阅读排行:
· 25岁的心里话
· 因为Apifox不支持离线,我果断选择了Apipost!
· 零经验选手,Compose 一天开发一款小游戏!
· Trae 开发工具与使用技巧
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示