第十九周 1.3-1.9

1.3

补个BC。

HDU 5608 function

题解这么说。复杂度不会。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <map>
 4 using namespace std;
 5 typedef long long LL;
 6 const LL mod = 1e9 + 7;
 7 const LL maxn = 1e6 + 10;
 8 map<LL,LL> M;
 9 LL t[maxn];
10
11 LL S1(LL n)
12 {
13     LL ret = n * ( n + 1 ) % mod * ( 2 * n % mod + 1 ) % mod * 166666668LL % mod;
14     ret = ( ret - 3 * n % mod * ( n + 1 ) % mod * 500000004LL % mod + mod ) % mod;
15     ret = ( ret + 2 * n ) % mod;
16     return ret;
17 }
18
19 LL S2(LL n)
20 {
21     if(n < maxn) return t[n];
22     if(M.find(n) != M.end()) return M[n];
23     LL ret = S1(n);
24     for(LL i = 2; i <= n; i++)
25     {
26         LL r = n / ( n / i );
27         ret = (ret - S2(n/i) * ( r - i + 1 ) % mod + mod) % mod;
28         i = r;
29     }
30     return M[n] = ret;
31 }
32
33 void pre()
34 {
35     for(LL i = 1; i < maxn; i++) t[i] = (i - 1) * (i - 2) % mod;
36     for(int i = 1; i < maxn; i++)
37         for(int j = 2; i * j < maxn; j++)
38             t[i*j] = (t[i*j] - t[i] + mod) % mod;
39     for(int i = 1; i < maxn; i++) t[i] = ( t[i] + t[i-1] ) % mod;
40     return;
41 }
42
43 int main(void)
44 {
45     pre();
46     int T;
47     scanf("%d", &T);
48     while(T--)
49     {
50         LL n;
51         scanf("%I64d", &n);
52         printf("%I64d\n", S2(n));
53     }
54     return 0;
55 }

Aguin

时间: 2024-10-11 11:12:10

第十九周 1.3-1.9的相关文章

大三上学期十九周总结

本周是大三上半学期的最后一周,也是考试周.本次周三.周四考试科目数字信号和计算机网络.前两天进行最终的复习,准备考试.完成后,进行假期规划. 下周开始进行招就处的项目开发.初步准备使用spring boot+mybatis进行开发.学习码云开源工具mybatis plus,简化开发流程.预计开发周期将会是半个月.教学弟使用POI进行导入导出.找到蓝桥杯的算法学习视频进行学习.准备看剑指offer这本书.最起码开个头. 推荐一个临时接受验证码的网站:https://www.pdflibr.com/

第十九周 银行系统(链表、二进制、业务明细)

基本要求:定义了用户类(User)和银行类(Bank),用成员函数实现各种功能,多文件组织程序,能用文本文件存取数据(如示例中给出的技术): 拓展方向: 序号 加分项目 细       则 1 改变Bank类中用户信息的存储方式 用对象的指针数组存储(User *user[upNum]) 或者用动态数组(User *users,空间用new分配) 2 功能扩充 按银行实际业务的要求,增加User类中的数据成员,能够记录身份证号.家庭住址等信息,并在相关业务中使用这些数据. 记录用户的每一笔业务,

Python学习笔记第十九周

目录: 一.路由系统URL 1.Django请求生命周期 2.创建Django project 3.配置 4.编写程序 二.视图 三.模板 四.ORM操作 内容: 一.URL 1.Django请求生命周期 URL对应关系(匹配)-> 视图函数 -> 返回用户字符串   URL对应关系(匹配)    -> 视图函数 -> 打开一个HTML文件,读取内容 2.创建Django project django-admin  startproject myproject cd  myproj

第十九周 1.4---1.10

终于考完了 ---- 诶--- --- --- 1.7 cf500c http://codeforces.com/problemset/problem/500/C 补去年的题了...... 懒成狗了...... 给出 n 本书的重量,m 天,还有这m 天每天要看哪一本书,然后每次看一本书的时候,是将这本书上面的书拿走,再拿走要看的书,再把挪走的那一摞书放回来 确定书最开始的顺序,使得搬的书的重量最小 按照看书的先后顺序来放,没有出现过的书就不管 假设现在要看的书是 x ,它的上面有 m 这么重的

hiho一下 第五十九周 题目1 : Performance Log

题目1 : Performance Log 时间限制:8000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a txt file, which is performance logs of a single-threaded program. Each line has three columns as follow: [Function Name] [TimeStamp] [Action] [FunctionName] is a string of le

【hiho】hiho第二十九周&#183;扫雷I

题目描述: 大致是这样的,给你长度为n的序列,每个序列上的数代表半径为2的范围内有多少个地雷,问你至多能确定多少个位置的放置,并输出一定有雷的个数及位置序列.一定没有雷的个数及位置序列 思路: 题目数据范围不是很大,O(n)吧 第一个位置确定后,按照arr[1]来说,第二个位置也就确定了 同理,对于arr[2]来说,第三个位置也就确定了..... 但是还是WA了两次,因为他问的是一定确定的! 这里就有一种情况,第一个位置放雷和不放雷都可行,那么虽然满足,但是有些位置是不确定的! 所以flag1,

hiho一下 第四十九周 题目1 : 欧拉路&#183;一【无向图 欧拉路问题】

题目1 : 欧拉路·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最后的宝藏.现在他们控制的角色来到了一个很大的湖边.湖上有N个小岛(编号1..N),以及连接小岛的M座木桥.每座木桥上各有一个宝箱,里面似乎装着什么道具. 湖边还有一个船夫,船夫告诉主角.他可以载着主角到任意一个岛上,并且可以从任意一个岛上再载着主角回到湖边,但是主角只有一次来回的机会.同时船夫告诉主

hiho一下 第四十九周(欧拉路的判定)49

/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt267 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 转载请注明:http://blog.csdn.net/tt2767/article/details/45420067 ///////////////////

[hihoCoder] 第四十九周: 欧拉路&#183;一

题目1 : 欧拉路·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最后的宝藏.现在他们控制的角色来到了一个很大的湖边.湖上有N个小岛(编号1..N),以及连接小岛的M座木桥.每座木桥上各有一个宝箱,里面似乎装着什么道具. 湖边还有一个船夫,船夫告诉主角.他可以载着主角到任意一个岛上,并且可以从任意一个岛上再载着主角回到湖边,但是主角只有一次来回的机会.同时船夫告诉主