LOJ2803 CCC2018 平衡树 数论分块、记忆化搜索
题意差评,其实就是一个递推式:\(f_1 = 1 , f_i = \sum\limits_{j=2}^i f_{\lfloor \frac{i}{j} \rfloor}\),然后求\(f_N\)的值
首先\(\lfloor \frac{i}{j} \rfloor\)只有\(2\sqrt{i}\)种取值,这意味着每一次计算的关联量并不多
而每一次只需要求一组数据的解,于是大力记忆化搜索一下就可以AC了
PS:在Luogu AC此题有263分大礼包QAQ
#include<bits/stdc++.h>
#include<unordered_map>
#define ll long long
//This code is written by Itst
using namespace std;
unordered_map < int , ll > ans;
ll solve(int x){
	if(x == 1) return 1;
	if(ans.find(x) != ans.end()) return ans[x];
	ll sum = 0;
	for(int i = 2 , pi ; i <= x ; i = pi + 1){
		pi = x / (x / i);
		sum += solve(x / i) * (pi - i + 1);
	}
	return ans[x] = sum;
}
int main(){
#ifndef ONLINE_JUDGE
	freopen("in","r",stdin);
	//freopen("out","w",stdout);
#endif
	int N;
	cin >> N;
	cout << solve(N);
	return 0;
}
												
											LOJ2803 CCC2018 平衡树 数论分块、记忆化搜索的更多相关文章
- 【bzoj4428】[Nwerc2015]Debugging调试  数论+记忆化搜索
		
题目描述 一个 $n$ 行的代码出了bug,每行都可能会产生这个bug.你要通过输出调试,在其中加入printf来判断bug出现的位置.运行一次程序的时间为 $r$ ,加入一条printf的时间为 $ ...
 - uva 10581 - Partitioning for fun and profit(记忆化搜索+数论)
		
题目链接:uva 10581 - Partitioning for fun and profit 题目大意:给定m,n,k,将m分解成n份,然后依照每份的个数排定字典序,而且划分时要求ai−1≤ai, ...
 - 【BZOJ4428】[Nwerc2015]Debugging调试 记忆化搜索+分块
		
[BZOJ4428][Nwerc2015]Debugging调试 Description 你看中的调试器将不会在这件事上帮助你.有代码可以通过多种方式在调试与正式发布的间隙发生不同的行为,当出现这种情 ...
 - HNU OJ10086 挤挤更健康 记忆化搜索DP
		
挤挤更健康 Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 339, A ...
 - [hihocoder 1033]交错和 数位dp/记忆化搜索
		
#1033 : 交错和 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 给定一个数 x,设它十进制展从高位到低位上的数位依次是 a0, a1, ..., an - 1 ...
 - 【bzoj3512】DZY Loves Math IV 杜教筛+记忆化搜索+欧拉函数
		
Description 给定n,m,求\(\sum_{i=1}^{n}\sum_{j=1}^{m}\varphi(ij)\)模10^9+7的值. Input 仅一行,两个整数n,m. Output 仅 ...
 - [ACM_动态规划] 数字三角形(数塔)_递推_记忆化搜索
		
1.直接用递归函数计算状态转移方程,效率十分低下,可以考虑用递推方法,其实就是“正着推导,逆着计算” #include<iostream> #include<algorithm> ...
 - 【BZOJ-3895】取石子       记忆化搜索 + 博弈
		
3895: 取石子 Time Limit: 1 Sec Memory Limit: 512 MBSubmit: 263 Solved: 127[Submit][Status][Discuss] D ...
 - hdu3555 Bomb (记忆化搜索 数位DP)
		
http://acm.hdu.edu.cn/showproblem.php?pid=3555 Bomb Time Limit: 2000/1000 MS (Java/Others) Memory ...
 
随机推荐
- link标签链接CSS和@import加载的区别
			
link:基本语法 <link rel="stylesheet" href="路径"> @import 基本语法 <style> @im ...
 - 【读书笔记】iOS-分类与协议
			
分类与协议是Object-C特有概念,分类(Category)可以认为是一种继承性的扩展,而协议(Protocol)可以理解为Java中的Interface(接口)或者C++的纯虚类. 参考资料:&l ...
 - WEB服务器----Apache 安装配置
			
1.官网下载需要的安装包(包括主安装包和依赖包的下载)可以直接使用Linux的wget进行下载: httpd安装包下载地址:http://mirrors.hust.edu.cn/apache//htt ...
 - 安卓开发_WebView如何在Fragment中使用
			
之前学习了如何在activity中使用WebView控件来显示网页. 在我的实际开发中,有需要在Fragment中用到WebView控件的,那么就百度学习了一下 其实很简单,但是当然不是和在Activ ...
 - 微信小程序-01-项目组成文件介绍(入门篇)
			
自古开篇先说两句,写这些笔记不是学习用的,主要是后续分享一些遇到的坑,碰到过什么样的问题,怎么去解决,如果你不是一个很耐心无看文章的人,建议去 网易云课堂找一些课程,跟着别人的脚步或许会更有动力,我的 ...
 - JS字符串截取函数slice(),substring(),substr()的区别
			
在JS中,slice().substring().substr()都有截取字符串的作用,那他们有哪些用法上的区别呢?如果你也有疑惑,这篇文章或许能够帮助到你. 一.substring() substr ...
 - @RequestMapping --注解用法详解
			
一.编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @SuppressWarnin ...
 - Java:JDBC的基本使用
			
本文内容: 什么是JDBC JDBC的使用 事务 连接池 DbUtils 首发日期:2018-05-27 修改: 2018-07-19:增加了事务.连接池.DBUtils 2018-07-27:对特别 ...
 - 3.网络编程-tcp的服务器简单实现
			
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/1/13 22:03 # @Author : ChenAdong # @ema ...
 - python第十八天
			
学习内容: json 模块,pickle模块,shelve模块,xml模块 json 模块 序列化: import json,pickle info={ 'name':'a', 'age':34, ...