Codeforces 1091C (数学)
题面
分析
假设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 (数学)的更多相关文章
- Sonya and Matrix CodeForces - 1004D (数学,构造)
http://codeforces.com/contest/1004/problem/D 题意:网格图给定到中心点的曼哈顿距离数组, 求该图n,m及中心点位置 首先可以观察到距离最大值mx一定在某个角 ...
- CodeForces 621C 数学概率期望计算
昨天训练赛的题..比划了好久才想出来什么意思 之前想的是暴力for循环求出来然后储存数组 后来又想了想 自己萌的可以.. 思路就是求出来每个人与他的右边的人在一起能拿钱的概率(V(或)的关系)然后*2 ...
- Sasha and a Very Easy Test CodeForces - 1109E (数学,线段树)
大意: 给定n元素序列, q个操作: (1)区间乘 (2)单点除(保证整除) (3)区间求和对m取模 要求回答所有操作(3)的结果 主要是除法难办, 假设单点除$x$, $x$中与$m$互素的素因子可 ...
- CodeForces 484B 数学 Maximum Value
很有趣的一道题,题解戳这. #include <iostream> #include <cstdio> #include <cstring> #include &l ...
- Codeforces 158B (数学)
B. Mushroom Scientists time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- Codeforces 300E(数学)
题意:给定k个数字,求最小的正整数n,使得“n的阶乘”是“这k个数字的阶乘的积”的倍数.1<=k<=1e6,数字ai满足1<=ai<=1e7 分析:如果我们能对着k个数字的阶乘 ...
- Codeforces 1114E(数学+随机算法)
题面 传送门 分析 通过二分答案,我们显然可以求出数组中最大的数,即等差数列的末项 接着随机取一些数组中的数,对他们两两做差,把得到的差取gcd即为公差 例a={1,5,9,13},我们随机取了1 9 ...
- Codeforces 405D 数学问题
真是脑残...擦 具体题解在这里 http://www.cnblogs.com/windysai/p/3619222.html 原本我为了防止两个数冲突,设置了好多判断,结果发现,如果两个数冲突,另外 ...
- CodeForces 382B 数学推导
这个题目题意简单,但是TLE得哭哭的... 输入 a b w x c五个数,最终要使得c<=a, 每一秒可以进行一个操作,如果b>=x,则 b=b-x,同时 c--;如果b<x,则a ...
随机推荐
- Jquery WEUI 滚动加载(infinite)不触发
源代码:(1.0.1版本) Infinite.prototype.scroll = function() { var container = this.container; var offset = ...
- 361-基于6U VPX TMS320C6678+XC7K325T 的信号处理板
基于6U VPX TMS320C6678+XC7K325T 的信号处理板 一.板卡概述 本板卡基于6U VPX结构设计无线电信号处理平台.板卡包含1片C6678芯片,1片 FPGA XC7K325T- ...
- ARM Cortex-M底层技术(3)—编译内核的原理及其应用
概述: 当前开发中,我使用的Keil开发工具较多(keil526),故以keil为例进行介绍,其他开发环境大同小异. 1. 编译链接的定义 不管我们编写的代码有多么简单,都必须经过「编译 --> ...
- VUE 生成二维码插件
原文:https://www.jianshu.com/p/496fd1cbee8d npm install qrcodejs2 --save 页面中引入 dom 结构 JS 方法编写 export d ...
- LeetCode--050--Pow(x,n)
实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 ...
- sublime text3 Package Control 插件安装及推荐(MAC)
参考: https://www.zhihu.com/question/36233553 https://www.cnblogs.com/zuoan-oopp/p/6692797.html 插件推荐 因 ...
- Centos6安装mysql
此处安装的是MariaDB,介绍如下: MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将My ...
- YottaChain主网全面上线预示商业应用的落地区块链云存储不一样的云
Yottachain存储网12月24日平安夜全面启动,意味着全球首个可商用的区块链存储公链全面落地.对于数据存储来说,小到我们个人的照片文档,大到政企机构数据库资料,都是互联网生活中如影随形的标配. ...
- Linux find过滤掉没有查看权限的文件
参考:https://blog.csdn.net/sinat_39416814/article/details/84993424 https://www.jianshu.com/p/2b056e1c0 ...
- [NOIP2016][luogu]换教室[DP]
[NOIP2016] Day1 T3 换教室 ——!x^n+y^n=z^n 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n 节课程 ...