y总nb

一般ACM或者笔试题的时间限制是1秒或2秒。
在这种情况下,C++代码中的操作次数控制在 107∼108107∼108 为最佳。

下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:

n≤30n≤30, 指数级别, dfs+剪枝,状态压缩dp
n≤100n≤100 => O(n3)O(n3),floyd,dp,高斯消元
n≤1000n≤1000 => O(n2)O(n2)O(n2logn)O(n2logn),dp,二分,朴素版Dijkstra、朴素版Prim、Bellman-Ford
n≤10000n≤10000 => O(n∗n√)O(n∗n),块状链表、分块、莫队
n≤100000n≤100000 => O(nlogn)O(nlogn) => 各种sort,线段树、树状数组、set/map、heap、拓扑排序、dijkstra+heap、prim+heap、spfa、求凸包、求半平面交、二分、CDQ分治、整体二分
n≤1000000n≤1000000 => O(n)O(n), 以及常数较小的 O(nlogn)O(nlogn) 算法 => 单调队列、 hash、双指针扫描、并查集,kmp、AC自动机,常数比较小的 O(nlogn)O(nlogn) 的做法:sort、树状数组、heap、dijkstra、spfa
n≤10000000n≤10000000 => O(n)O(n),双指针扫描、kmp、AC自动机、线性筛素数
n≤109n≤109 => O(n√)O(n),判断质数
n≤1018n≤1018 => O(logn)O(logn),最大公约数,快速幂
n≤101000n≤101000 => O((logn)2)O((logn)2),高精度加减乘除
n≤10100000n≤10100000 => O(logk×loglogk),k表示位数O(logk×loglogk),k表示位数,高精度加减、FFT/NTT

作者:yxc
链接:https://www.acwing.com/blog/content/32/
来源:AcWing

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式 策略模式2 c++11

根据需求的不同 选择不同的策略算法 之前是保存的各种策略类的指针 这里直接使用 function bind 选择对应的算法 代码 // 005.cpp: 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <functional> #include <iostream>using namespace std…

2. 01背包问题

01背包问题 先上版子。 #include<iostream> #include<algorithm> using namespace std; const int maxn 1010; int f[maxn][maxn]; int v[maxn],w[maxn]; int main() {int n,V;cin>>n>>V;for (int i1;i<n;i){cin>>v[i]>>w[i];}for (i…

C++ Websites

C Websites C 推荐网站 1、cprogramming.com 2、cppreference.com 3、cplusplus.com 4、Boost C Library 转载于:https://www.cnblogs.com/xuanyuanchen/p/7457951.html

3. 完全背包问题

完全背包问题 #include <iostream> #include <algorithm> using namespace std; const int maxn 1010; int f[maxn]; int v[maxn], w[maxn]; int main() {int n, V;cin >> n >> V;for (int i 1; i < n; i){cin >> v[i] >> w[i];}for…

python学习(八)定制类和枚举

python定制类主要是实现特定功能&#xff0c;通过在类中定义特定的函数完成特定的功能。 class Student(object):def __init__(self, name):self.name namestudent Student("lilei") print(student) 实现定制类 class Student(object):def __init__(self, name):sel…

4. 多重背包问题 I

多重背包问题 I #include<iostream> #include<algorithm> using namespace std; const int maxn 10010; int f[1001]; int main() {int n,V;cin>>n>>V;for (int i0;i<n;i){int v,w,s;cin>>v>>w>>s;for (int jV;~j;j--){for (in…

题目:16版.雇员的工作职责(一)

题目&#xff1a;16版.雇员的工作职责(一) 1、实验要求 本实验要求&#xff1a;以雇员的日常工作为背景&#xff0c;体验“继承”与“属性复用技术”的运用场景。1-1. 业务说明&#xff1a;1-1.1. 本实验以公司雇员的日常工作模式为业务背景。1-1.2. 公司每个雇员每天都需要进…

架构实战:(一)Redis采用主从架构的原因

架构实战 &#xff08;一&#xff09;Redis采用主从架构的原因 &#xff08;二&#xff09; 如果系统的QPS超过10W&#xff0c;甚至是百万以上的访问&#xff0c;则光是Redis是不够的&#xff0c;但是Redis是整个大型缓存架构中&#xff0c;支撑高并发的架构非常重要的环节。 首…

5. 多重背包问题 II

多重背包问题 II 二进制优化&#xff1a; #include<iostream> #include<vector> #include<algorithm> #include<cstring> using namespace std; int f[10001]; struct node {int v;int w; }; int main() {vector<node>cun;int n,V;cin>>n…

使用memcache作为中间缓存区的步骤

① 直接让PHP程序memcache取数据 ② 如果memcache里面没有数据&#xff0c;则让其连接数据库&#xff0c;去数据库里面取数据 ③ 将取出的数据展示给用户的同时&#xff0c;再将数据缓存到memcache里面&#xff0c;并且可以指定一个缓存的时间&#xff0c;单位为秒。 ④ 如果之…

844. 走迷宫

走迷宫 友情提示&#xff1a;尽量不用fill&#xff0c;用memset 一个fill浪费我两个小时找错。。。。。 #include <iostream> #include <queue> #include <algorithm> #include <cstring> using namespace std; int ch[111][111]; int op[111][111];…

计算机 - 网络原理

计算机 - 网络原理转载于:https://www.cnblogs.com/KevinXia/p/7477693.html

3578. 最大中位数

最大中位数 给定一个由 n 个整数组成的数组 a&#xff0c;其中 n 为奇数。 你可以对其进行以下操作&#xff1a; 选择数组中的一个元素&#xff08;例如 ai&#xff09;&#xff0c;将其增加 1&#xff08;即&#xff0c;将其替换为 ai1&#xff09;。 你最多可以进行 k 次操…

selenium无法定位到QQ邮箱登录页面的输入框元素和登录按钮元素-解决方法

问题如下&#xff1a; 代码如下&#xff1a; package TestNG1; import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.support.FindBy;import org.openqa.selenium.support.PageFactory;import org.testng.annotations.Tes…

3583. 整数分组

整数分组 #include<iostream> #include<algorithm> using namespace std; int main() {int f[5010][5010];int w[5010];int n,m;cin>>n>>m;for (int i1;i<n;i) cin>>w[i];sort(w1,wn1);for (int i1,j1;i<n;i){while (w[i]-w[j]>5) j;f…

《JavaWeb从入门到改行》注册时向指定邮箱发送邮件激活

javaMail API javaMail是SUN公司提供的针对邮件的API 。 两个jar包 mail.jar 和 activation.jar java mail中主要类&#xff1a;javax.mail.Session、javax.mail.internet.MimeMessage、javax.mail.Transport。 Session 表示会话&#xff0c;即客户端与邮件服务器之…

9. 分组背包问题

分组背包问题 #include <iostream> #include <algorithm> using namespace std; const int maxn 1000; int w[maxn], v[maxn], f[maxn]; int main() {int n, V;cin >> n >> V;for (int i 0; i < n; i){int m;cin >> m;for (int j 0; j &l…

HTTP之报文

HTTP 报文 用于 HTTP 协议交互的信息被称为 HTTP 报文。请求端&#xff08;客户端&#xff09;的 HTTP 报文叫做请求报文&#xff0c;响应端&#xff08;服务器端&#xff09;的叫做响应报文。HTTP 报文本身是由多行&#xff08;用 CRLF 作换行符&#xff09;数据构成的字符串文…

小程序添加本地图片

写背景图片的时候用了本地的图片&#xff0c;报错说是不能直接使用本地图片。 只能使用<image></image> 或者网络图片以及base64 只好换背景图为<image src本地图片路径></image>转载于:https://www.cnblogs.com/zhangweihu/p/7490233.html

896. 最长上升子序列 II

最长上升子序列 II #include<iostream> using namespace std; int main() {int n;int w[100001],v[100001];cin>>n;for (int i0;i<n;i) cin>>w[i];int len 0;v[0] -2e9;for (int i0;i<n;i){int l 0,r len;while (l<r){int mid lr1>>1;i…