当前位置: 首页 > news >正文

网站建设设计官网网站为什么做优化ppt

网站建设设计官网,网站为什么做优化ppt,新站网站推广该如何做,怎样在手机上创建网站cf1561D Up the Strip(D1D2) 题意#xff1a; 一个长度为n的赛道#xff0c;一开始在n的位置#xff0c;你要前往到1#xff0c;每次移动你有两种方式#xff1a; 在1和x-1之间选择一个整数y#xff0c;并从位置x移动到位置x-y在2和x之间选择一个整数z…cf1561D Up the Strip(D1D2) 题意 一个长度为n的赛道一开始在n的位置你要前往到1每次移动你有两种方式 在1和x-1之间选择一个整数y并从位置x移动到位置x-y在2和x之间选择一个整数z从位置x移动到位置⌊xz⌋\lfloor \frac{x}{z} \rfloor⌊zx​⌋ 问有多少移动方法 问题D1n的数据范围是2e5 问题D1n的数据范围是4e6 D1 题解 对于第一个转移任何一个状态都可以转移到x因为是线性递推的 而对于第二个转移我们可以发现⌊xz⌋\lfloor \frac{x}{z} \rfloor⌊zx​⌋在一个区间内值是稳定不变的这不就是整除分块 因为z∈[2,x],所以整除分块l的初始值为2 知道l根据整除分块可知ri/(i/l)ri/(i/l)ri/(i/l) 对于这一整个区间i∈[l,r]他们的值⌊ni⌋\lfloor \frac{n}{i} \rfloor⌊in​⌋的值是一样所以可以这一整段区间的值都可以由dp[n/i]转移过来 所以有转移方程 dp[x]∑i1x−1dp[i]∑dp[xl]\sum_{i1}^{x-1}dp[i]\sum dp[\frac{x}{l}]∑i1x−1​dp[i]∑dp[lx​] 前者我用树状数组维护 复杂度nnn\sqrt{n}nn​ 代码 // Problem: D1. Up the Strip (simplified version) // Contest: Codeforces - Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine)) // URL: https://codeforces.com/contest/1561/problem/D1 // Memory Limit: 128 MB // Time Limit: 6000 ms // Data:2021-08-25 00:01:00 // By Jozky #include bits/stdc.h #include unordered_map #define debug(a, b) printf(%s %d\n, a, b); using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pairint, int PII; clock_t startTime, endTime; //Fe~Jozky const ll INF_ll 1e18; const int INF_int 0x3f3f3f3f; void read(){}; template typename _Tp, typename... _Tps void read(_Tp x, _Tps... Ar) {x 0;char c getchar();bool flag 0;while (c 0 || c 9)flag| (c -), c getchar();while (c 0 c 9)x (x 3) (x 1) (c ^ 48), c getchar();if (flag)x -x;read(Ar...); } template typename T inline void write(T x) {if (x 0) {x ~(x - 1);putchar(-);}if (x 9)write(x / 10);putchar(x % 10 0); } void rd_test() { #ifdef LOCALstartTime clock();freopen(in.txt, r, stdin); #endif } void Time_test() { #ifdef LOCALendTime clock();printf(\nRun Time:%lfs\n, (double)(endTime - startTime) / CLOCKS_PER_SEC); #endif } const int maxn 2e5 9; ll a[maxn]; ll f[maxn]; ll n, mod; ll lowbits(ll x) {return x (-x); } void update(int pos, ll val) {for (int i pos; i maxn; i lowbits(i)) {a[i] (a[i] val) % mod;} } ll query(int pos) {ll val 0;for (int i pos; i; i- lowbits(i)) {val (val a[i]) % mod;}return val; } int main() {//rd_test();cin n mod;for (int i 1; i n; i) {if (i 1) {f[i] 1;update(i, f[i]);continue;}f[i] query(i - 1);int r;for (int l 2; l i; l r 1) {r i / (i / l);int R min(r, i);int len R - l 1;f[i] (f[i] 1ll * len * f[i / l] % mod) % mod;}update(i, f[i]);}printf(%lld\n, f[n] % mod);return 0;//Time_test(); }D2 题解 这个题的数据大了20很明显nnn\sqrt{n}nn​过不了 现在对于4e6的数据很明显我们要优化成nlog⁡nn\log{n}nlogn的做法 对于一个数i那么某种倍数j会让[i∗j,i∗ji)[i*j,i*ji)[i∗j,i∗ji)这个范围内都可以移动到i位置 当然还要注意边界情况i∗jn且j∗iin1i*jn且j*iin1i∗jn且j∗iin1 转移方程为 dp[i]∑ji1ndp[j]∑i1i∗jn∑ki∗ji∗jj−1dp[k]\sum_{ji1}^{n}dp[j]\sum_{i1}^{i*jn} \sum_{ki*j}^{i*jj-1} dp[k]∑ji1n​dp[j]∑i1i∗jn​∑ki∗ji∗jj−1​dp[k] 枚举倍数的时间复杂度是O(logn)O(log n)O(logn) 总复杂度是nlog⁡nn\log{n}nlogn 代码 // Problem: D1. Up the Strip (simplified version) // Contest: Codeforces - Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine)) // URL: https://codeforces.com/contest/1561/problem/D1 // Memory Limit: 128 MB // Time Limit: 6000 ms // Data:2021-08-25 00:01:00 // By Jozky #include bits/stdc.h #include unordered_map #define debug(a, b) printf(%s %d\n, a, b); using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pairint, int PII; clock_t startTime, endTime; //Fe~Jozky const ll INF_ll 1e18; const int INF_int 0x3f3f3f3f; void read(){}; template typename _Tp, typename... _Tps void read(_Tp x, _Tps... Ar) {x 0;char c getchar();bool flag 0;while (c 0 || c 9)flag| (c -), c getchar();while (c 0 c 9)x (x 3) (x 1) (c ^ 48), c getchar();if (flag)x -x;read(Ar...); } template typename T inline void write(T x) {if (x 0) {x ~(x - 1);putchar(-);}if (x 9)write(x / 10);putchar(x % 10 0); } void rd_test() { #ifdef LOCALstartTime clock();freopen(in.txt, r, stdin); #endif } void Time_test() { #ifdef LOCALendTime clock();printf(\nRun Time:%lfs\n, (double)(endTime - startTime) / CLOCKS_PER_SEC); #endif } const int maxn 5e6 9; ll a[maxn]; ll f[maxn]; int n; ll mod; ll lowbits(ll x) {return x (-x); } void update(int pos, ll val) {for (int i pos; i maxn; i lowbits(i)) {a[i] (a[i] val) % mod;} } ll query(int pos) {ll val 0;for (int i pos; i; i- lowbits(i)) {val (val a[i]) % mod;}return val; } ll sum[maxn]; int main() {//rd_test();cin n mod;f[n] 1ll;sum[n] 1ll;for (int i n - 1; i 1; i--) {f[i] sum[i 1];for (int j 2; j * i n; j) {ll l i * j;ll r min(1ll * j * i j, 1ll * n 1);f[i] (f[i] sum[l] - sum[r]) % mod;}sum[i] (sum[i 1] f[i]) % mod;}printf(%lld\n, f[1] % mod);return 0;//Time_test(); }
http://www.pierceye.com/news/247757/

相关文章:

  • 营销式网站建设免费注册个人网站官网
  • 高职高专 网站建设与维护开发一个网站平台多少钱
  • 网站后缀有哪些宜昌建设网站
  • iis做网站的流程wordpress有中文版没
  • 一般的美工可以做网站吗网站做相册
  • 扁平化网站psd招聘类网站怎么做
  • 想当淘客自己的网站怎么做服装网页设计网站
  • 网站怎么做数据接口wordpress主题知更
  • 注册网站登录企业网站建设论文模板
  • 营销型网站模板免费下载常用wordpress搭建环境
  • 浦东新区手机网站建设wordpress 视频页面
  • 做课件最好的素材网站网站背景动图怎么做
  • 做网站时已做好了ps怎么倒入深圳燃气公司地址
  • 做类似淘宝的网站要多少钱亚马逊网站建设进度计划书
  • 够完美网站建设怎么把视频弄成超链接
  • 苏州网站建设哪家更好四川省建设工程信息网官网二建注册
  • 潍坊网站关键词推广湖南餐饮网站建设
  • 珠海网站建设优化推广win2008 iis7发布网站
  • 平安网站建设发挥了积极的作用wordpress 的数据库路径
  • 福州网站建设优化安阳县二中录取分数线2022
  • 如何建手机网站网站能否做二维码
  • 南京网站建设 雷仁网上海网站制作网络推广方法
  • 营销型网站怎么做安阳县有多少个乡镇
  • 网站评论 设计天气网站建设
  • 潍坊市住房和城乡建设局网站哈尔滨最新发布公告
  • 白云网站 建设信科网络制作网站软件网站
  • 房产网站的建设想发布oa网站 需要备案吗
  • 帮别人做钓鱼网站吗海口网站建设过程
  • 广州php网站建设做网站的公司推荐
  • 百度一下建设银行网站首页网上购物都有哪些网站