先考虑\(O(nkw)\)的30分暴力。
显然,每个维度上走过的位置是一个区间。
只要走的步数确定,那么这个区间关于起点位置的相对位置也就确定了。
只要先算出每个循环向左/右所走的最远距离,以及一个循环的移位即可。
这样,考虑一个算法:
枚举走了多少步结束,并算出贡献(就是算出满足条件的起点数目)。
先枚举走出区域的上一步,走到了循环节中的哪个位置,以及走了多少循环节。
由于不能走出区域,于是可以根据每个维度的区间来算出这个维度的起点所在区间。
设下一步修改的维度为\(c\)。根据对应的\(d\),容易算出这个维度的起点位置。
那么,这个位置必须在起点区间内。
满足这个条件的基础上,把其他维度的起点区间长度相乘就是起点数目。

考虑优化:

这个算法的主要瓶颈在于对循环节数的枚举。
设走过的循环节数目为\(x\)。
那么,不难发现,每个维度的区间的相对位置(即左右端点与起点的距离)是关于\(x\)的一次函数。
由于这一维度的方案数等于\(w+1\)减去区间长度,因此这也是关于\(x\)的一次函数。
根据这个区间长度为正数,可以得出\(x\)的取值范围。
同时,维度\(c\)的起点位置也是关于\(x\)的一次函数。
根据这个位置必须在起点区间内部,进一步缩小\(x\)的取值范围。
由于答案就是若干一次函数相乘。
暴力多项式乘法并用自然数幂前缀和即可。
时间复杂度\(o(nk^2)\)。

NOIP2020微信步数相关推荐

  1. [NOIP2020]微信步数

    微信步数 题解 现在才补一年前的题. 首先我们的考虑一个简单的暴力.然而我考场上连这个暴力都没想到 我们将一个点能走多少步转化一下,通过整体来看. 我们考虑走了这一步后还有多少点能够幸存,即没有走出整 ...

  2. [NOIP2020] 微信步数

    题目描述 小 C 喜欢跑步,并且非常喜欢在微信步数排行榜上刷榜,为此他制定了一个刷微信步数的计划. 他来到了一处空旷的场地,处于该场地中的人可以用 kk 维整数坐标 (a_1, a_2, \ldots ...

  3. 2022-05-05随手更新文章,以及记录一下新的微信步数接口

    本来不想写这个文章的,但好像不写点东西发一下,似乎没法引起大家的注意. 然后最近刚好更新了一下微信步数的API接口,那就顺便也水个文章,露一下脸. 关于微信步数API接口 其实这个也没啥好说的,接口用 ...

  4. 微信步数日历打卡小程序

    微信步数日历打卡小程序 背景 碳达峰.碳中和.垃圾分类.减塑.反食品浪费等绿色低碳生活正日渐成为社会新风尚."低碳生活,绿建未来"活动采取"线上线下"相结合的方 ...

  5. ios11修改微信步数_你会时常去看他的微信步数吗?

    在这个社交的网络圈子里,就算你一言不发,你的轨迹也会被默默地记录. 今天的你,给他的微信步数点赞了吗? 1 小洋和她的男友是异地恋,和其他的异地情侣天天煲电话粥的恋爱方式不同,由于社团工作以及学业压力 ...

  6. uni-app利用uniCloud获取微信步数并将数据写入数据库

    uni-app利用uniCloud获取微信步数并将数据写入数据库 本项目依赖了uni-id 只是毕业设计,想法不完善,没有对用户授权失败做处理,如果编写的时候需要注意 第一步:调用wx.login() ...

  7. 傻瓜式操作更改微信步数

    更改微信运动步数的简单原理 很多网络上面的教程大多是从更改微信的数据库入手,不仅非常麻烦,而且工具不好找. 不妨换一个思路,不去费尽心思更改微信的数据,我们可以更改其他运动APP的数据,再导入到微信运 ...

  8. python刷步数程序设计_乐心健康间接修改微信步数-Docker持久运行python脚本

    使用的就是抓包然后修改数据进行解包,相关的使用方法可以从原博客查看,我这里是进一步补充将脚本持久化运行 想法是从csdn上面发现的一个博客开始的,能够修改微信步数. 缺点就是要一直运行才可以,那干脆扔 ...

  9. 开发笔记 | JAVA获取微信步数+日周月排行榜的实现

    目录 功能描述 微信步数同步 获取我当日的步数 日排行,周排行,月排行榜的实现 功能描述 实现微信步数的同步(也就是获取当前的微信步数更新至数据库) 实现获取我当日的微信步数的查询 实现按照日排行,周 ...

最新文章

  1. 我的csdnmark
  2. html怎么让图片重叠_PS倒影效果怎么做,如何利用PS给产品制作倒影
  3. 不能将brassplus类型的值分配到brass类的实体_Java 基础 - 类与对象
  4. 超赞 | 计算机视觉联盟全新Logo!近期精华回顾!
  5. html添加变量参数吗,动态CSS与变量参数? (可能吗?)
  6. C语言 流缓冲 Stream Buffering
  7. cesium使用obj格式的3D模型
  8. vue项目调用企业微信扫码权限skd,js-sdk
  9. 搜狗推送代码之搜狗百万蜘蛛实现
  10. SpringBoot2核心技术-笔记
  11. SELECT list is not in GROUP BY clause and contains nonaggregated column 异常
  12. python 视图对象_Python之路【第二十八篇】:django视图层、模块层
  13. 华为交换机配置基础命令
  14. 26、python数据表透视分析、交叉分析、实现透视表功能
  15. python基础知识相关习题
  16. 菜鸟带你使用JieCaoMediaPlayer播放本地视频
  17. 云服务器文件打包,如何把云服务器的文件打包出来
  18. violate关键字---java高并发
  19. ggplot2 | R语言绘制世界地图choropleth
  20. 进制转换计算机文档,计算机进制转换.pdf

热门文章

  1. 崩坏3桌面版怎么更换服务器,崩坏3【桌面版】安装常见问题解决办法
  2. 41、基于51单片机手机无线充电器系统锂电池存电系统设计
  3. 微信授权登陆接入第三方App(步骤总结)Android。
  4. 将Iphone 8P手机中的照片导入电脑时出错
  5. html5 audio左侧,HTML5之Audio(四)—— 左右声道
  6. flask python 上传图片或头像
  7. Befunky - 将图片卡通化的在线工具
  8. 游戏制作之路(25)Camera(摄像机)的清除标志Solid color
  9. linux下zip文件密码破解Fcrackzip
  10. Access to XMLHttpRequest at ‘http127.0.0.18000server‘ from origin ‘http127.0.0.15500‘ has