题面

传送门

分析

假设k是固定的,那访问到的节点编号就是\(1+(a·k \mod n )\),其中a为正整数。

通过找规律不难发现会出现循环。

通过题目中的图片我们不难发现

只有k=1,2,3,6得到的四种结果,而其他的情况都和这4种结果的某种一样

所以我们只要考虑n的因数即可

对于固定的k我们发现访问到的节点为1,1+k,1+2k.....n-k+1,一共\(\frac{n}{k}\) 项,根据等差数列求和公式和为\(\frac{n(n-k+2)}{2k}\)

所以我们只要在\(O(\sqrt n)\)的时间内分解因数,然后再\(O(1)\)更新答案即可

代码

#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#define maxn 100005
using namespace std;
long long n,k;
long long a[maxn];
int cnt=0;
vector<long long>ans;
void div(long long n){
for(long long i=2;i*i<=n;i++){
if(n%i==0){
a[++cnt]=i;
if(i!=n/i) a[++cnt]=n/i;
}
}
}
int main(){
scanf("%I64d",&n);
div(n);
for(int i=1;i<=cnt;i++){
long long x=a[i];
long long f=n/x*(n-x+2)/2;
ans.push_back(f);
}
sort(ans.begin(),ans.end());
for(int i=0;i<ans.size();i++){
printf("%I64d ",ans[i]);
}
}

Codeforces 1091C (数学)的更多相关文章

  1. Sonya and Matrix CodeForces - 1004D (数学,构造)

    http://codeforces.com/contest/1004/problem/D 题意:网格图给定到中心点的曼哈顿距离数组, 求该图n,m及中心点位置 首先可以观察到距离最大值mx一定在某个角 ...

  2. CodeForces 621C 数学概率期望计算

    昨天训练赛的题..比划了好久才想出来什么意思 之前想的是暴力for循环求出来然后储存数组 后来又想了想 自己萌的可以.. 思路就是求出来每个人与他的右边的人在一起能拿钱的概率(V(或)的关系)然后*2 ...

  3. Sasha and a Very Easy Test CodeForces - 1109E (数学,线段树)

    大意: 给定n元素序列, q个操作: (1)区间乘 (2)单点除(保证整除) (3)区间求和对m取模 要求回答所有操作(3)的结果 主要是除法难办, 假设单点除$x$, $x$中与$m$互素的素因子可 ...

  4. CodeForces 484B 数学 Maximum Value

    很有趣的一道题,题解戳这. #include <iostream> #include <cstdio> #include <cstring> #include &l ...

  5. Codeforces 158B (数学)

    B. Mushroom Scientists time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  6. Codeforces 300E(数学)

    题意:给定k个数字,求最小的正整数n,使得“n的阶乘”是“这k个数字的阶乘的积”的倍数.1<=k<=1e6,数字ai满足1<=ai<=1e7 分析:如果我们能对着k个数字的阶乘 ...

  7. Codeforces 1114E(数学+随机算法)

    题面 传送门 分析 通过二分答案,我们显然可以求出数组中最大的数,即等差数列的末项 接着随机取一些数组中的数,对他们两两做差,把得到的差取gcd即为公差 例a={1,5,9,13},我们随机取了1 9 ...

  8. Codeforces 405D 数学问题

    真是脑残...擦 具体题解在这里 http://www.cnblogs.com/windysai/p/3619222.html 原本我为了防止两个数冲突,设置了好多判断,结果发现,如果两个数冲突,另外 ...

  9. CodeForces 382B 数学推导

    这个题目题意简单,但是TLE得哭哭的... 输入 a b w x c五个数,最终要使得c<=a, 每一秒可以进行一个操作,如果b>=x,则 b=b-x,同时 c--;如果b<x,则a ...

随机推荐

  1. jsp页面转换时间戳

    <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <fmt:fo ...

  2. ReactiveCocoa详解

    最近看了大神的博客后,感觉该对ReactiveCocoa做一个了断了. 首先大致的对以下关于ReactiveCocoa内容做一个简单的总结,其他的后续更新 1.ReactiveCocoa的操作思想 2 ...

  3. 关于使用itext转Html为pdf添加css样式的问题

    使用的jar文件 xmlworker-5.5.11.jar itextpdf-5.5.11.jar 下载地址:https://pan.baidu.com/s/1i5AIBvZ 以下为测试代码 pack ...

  4. Apache Mesos1.0.1 编译安装部署教程(ubuntu)

    参考资料 官方文档:http://mesos.apache.org/documentation 中文翻译:http://mesos.mydoc.io/ GitHub:https://github.co ...

  5. rocketmq-console控制台管理界面配置

    Rocketmq可视化管理控制台配置 前提: RocketMQ有一个对其扩展的开源项目incubator-rocketmq-externals,这个项目中有一个子模块叫“rocketmq-consol ...

  6. 日志远程更新脚本shell

    log_update.sh.bak: #!/bin/bash# To Update Logs... #/bin/rsync -avz --delete --exclude=warn.log @172. ...

  7. 使用python3搭建Linux-mariadb主从架构

    环境准备两台: 192.168.193.90 master 192.168.193.91 slave 需要Linux装python环境: https://www.cnblogs.com/kingzhe ...

  8. web源码泄露

    http://www.am0s.com/ctf/175.html vim 文件泄露 1.备份文件 源文件:index.php 备份文件:index.php~ 2.临时文件 源文件:index.php ...

  9. k8s+jenkins

    1 server 的port , targetport, nodeport的区别 targetport为容器的暴露端口,为最后端的端口 port可以理解为pod的端口,pod是容器的外层,该端口可以在 ...

  10. 多组件共享-vuex

    1.解决多个组件共享同一状态数据问题1)多个视图共享同一状态2)来自不同视图的触发事件需要变更同一状态文档API:https://vuex.vuejs.org/zh/api/ 2.组件与store连接 ...