当前位置:网站首页>Arc135 a (time complexity analysis)
Arc135 a (time complexity analysis)
2022-07-04 05:35:00 【Find a derivative first】
subject
The question : take x decomposition , Make the product of all numbers after decomposition reach the maximum . about x, It can be broken down into x/2( Round up ) and x/2( Round down )
Ideas : Memory search . When x<=4, Don't divide . otherwise , Keep dividing .
Time complexity : O(logX) or O(logX * loglogX)
use unordered_map
hypothesis n = 2 ^ k,T(n) = T(n/2)+1.T(n) = k = logn
hypothesis n != 2^k, 2^k-1 <= n < 2^k, It can be proved that at most 2k Time f(x),T(n) < 2 * (log(x)+1) = O(log(x)).
If the map
It takes time to memorize logn Time for ,n At most 2(log(x)+1).logn As mentioned above loglogX Time .
Code :
// Problem: A - Floor, Ceil - Decomposition
// Contest: AtCoder - AtCoder Regular Contest 135
// URL: https://atcoder.jp/contests/arc135/tasks/arc135_a
// Memory Limit: 1024 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<complex>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<unordered_map>
#include<list>
#include<set>
#include<queue>
#include<stack>
#define OldTomato ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr)
#define fir(i,a,b) for(int i=a;i<=b;++i)
#define mem(a,x) memset(a,x,sizeof(a))
#define p_ priority_queue
// round() rounding ceil() Rounding up floor() Rounding down
// lower_bound(a.begin(),a.end(),tmp,greater<ll>()) First less than or equal to
// #define int long long //QAQ
using namespace std;
typedef complex<double> CP;
typedef pair<int,int> PII;
typedef long long ll;
// typedef __int128 it;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const ll inf = 1e18;
const int N = 2e5+10;
const int M = 1e6+10;
const int mod = 998244353;
const double eps = 1e-6;
inline int lowbit(int x){
return x&(-x);}
template<typename T>void write(T x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>9)
{
write(x/10);
}
putchar(x%10+'0');
}
template<typename T> void read(T &x)
{
x = 0;char ch = getchar();ll f = 1;
while(!isdigit(ch)){
if(ch == '-')f*=-1;ch=getchar();}
while(isdigit(ch)){
x = x*10+ch-48;ch=getchar();}x*=f;
}
#define int long long
int n,m,k,T;
map<int,int> mp;
int fun(int x)
{
if(x<=4)
{
return x;
}
if(mp[x]) return mp[x];
if(x&1) return mp[x] = fun(x/2) * fun((x+1)/2) % mod;
else return mp[x] = fun(x/2) * fun(x/2) % mod;
}
void solve()
{
read(n);
write(fun(n)); puts("");
}
signed main(void)
{
T = 1;
// OldTomato; cin>>T;
// read(T);
while(T--)
{
solve();
}
return 0;
}
边栏推荐
- VB. Net GIF (making and disassembling - optimizing code, class library - 5)
- Simulated small root pile
- Viewing and using binary log of MySQL
- 【兴趣阅读】Adversarial Filtering Modeling on Long-term User Behavior Sequences for Click-Through Rate Pre
- LM small programmable controller software (based on CoDeSys) note XXI: error 3703
- Li Kou's 300th weekly match
- Ping port artifact psping
- fastjson
- PostgreSQL has officially surpassed mysql. Is this guy too strong!
- (4) Canal multi instance use
猜你喜欢

光模塊字母含義及參數簡稱大全

ETCD数据库源码分析——初始化总览

C language simple student management system (including source code)

Electronic components mall and data manual download website summary
![How to use postman to realize simple interface Association [add, delete, modify and query]](/img/e9/bf89eacdebcf2ec84c8a08c28b9ca8.png)
How to use postman to realize simple interface Association [add, delete, modify and query]

(4) Canal multi instance use

c语言经典指针和数组笔试题解析

Flutter calls Gaode map app to realize location search, route planning and reverse geocoding

2022危险化学品经营单位安全管理人员上岗证题库及答案

Trie number dictionary tree
随机推荐
Programmers don't talk about morality, and use multithreading for Heisi's girlfriend
Risc-v-qemu-virt in FreeRTOS_ Lock mechanism analysis of GCC
Flutter calls Gaode map app to realize location search, route planning and reverse geocoding
VB.net 调用FFmpeg简单处理视频(类库——6)
The data mark is a piece of fat meat, and it is not only China Manfu technology that focuses on this meat
flink1.13 sql基础语法(一)DDL、DML
LabVIEW错误对话框的出现
BUU-Real-[PHP]XXE
VB. Net calls ffmpeg to simply process video (class Library-6)
[paper summary] zero shot semantic segmentation
Flask
2022 question bank and answers for safety management personnel of hazardous chemical business units
BUU-Pwn-test_ your_ nc
Unity is connected to the weather system
Graduation design of small programs -- small programs of food and recipes
Evolution of system architecture: differences and connections between SOA and microservice architecture
2022年T电梯修理操作证考试题库及模拟考试
[matlab] matlab simulation modulation system - DSB system
fastjson
Trie number dictionary tree