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

网站建设教程书籍免费下载网站是公司域名是个人可以吗

网站建设教程书籍免费下载,网站是公司域名是个人可以吗,一般人公司注册费用,达内网站开发课程好久没写了,问题还蛮多的。听说这次是苯环哥哥出题 F题 小苯的因子查询 思路 考虑求因子个数,用质因数分解;奇数因子只需要去掉质数为2的情况,用除法。 这里有个比较妙的细节是,提前处理出数字x的最小质因数&#xff0…

好久没写了,问题还蛮多的。听说这次是苯环哥哥出题
F题 小苯的因子查询
思路

考虑求因子个数,用质因数分解;奇数因子只需要去掉质数为2的情况,用除法。
这里有个比较妙的细节是,提前处理出数字x的最小质因数,当然不处理也没关系。

我出的bug

  • 忘记逆元怎么求了,甚至连名字都忘记了,想了一会才想起来
  • 1e6的读入,忘记禁用同步和解除绑定了
  • const int mod=998244353; 少了const
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ft first
#define sd second
const int mod=998244353;
const int N=1e6+10;
int prime[N],kk,vis[N];
pair<int,int> ans[N];//记录第i个的奇数个数,因子个数
int total[N];//质因子为i的次幂int power(int x,int y)
{int res=1;while(y){if(y&1) res=res*x%mod;y/=2;x=x*x%mod;}return res%mod;
}
int inv(int y) {return power(y,mod-2);}
void Prime()
{for(int i=2;i<N;i++){if(vis[i]==0) prime[++kk]=i,vis[i]=kk;for(int j=i+i;j<N;j+=i){if(vis[j]==0) vis[j]=kk;//vis记录最小质因数的编号,编号从1开始}}
}
void init()
{Prime();ans[1].ft=ans[1].sd=1;for(int i=2;i<N;i++)//递推,更新下一个ans{int j=vis[i],tmp=i;while(j>0){int cnt=0;while(tmp%prime[j]==0)cnt++,tmp/=prime[j];if(total[prime[j]]==0)//增加一个质因子的情况{ans[i].sd=ans[i-1].sd*(cnt+1)%mod;}else //已有质因子的情况{ans[i].sd=ans[i-1].sd*inv(total[prime[j]]+1)%mod*(total[prime[j]]+cnt+1)%mod;}total[prime[j]]+=cnt;j=vis[tmp];}ans[i].ft=ans[i].sd*inv(total[2]+1)%mod;}
}
int solve(int n)
{int x=ans[n].ft;int y=ans[n].sd;int inv_y=inv(y);//cout<<x<<" "<<y<<" ";return x*inv_y%mod;}
signed main()
{//ios::sync_with_stdio(false);cin.tie(0);init();int n,t;ios::sync_with_stdio(0);cin.tie(0);cin>>t;while(t--){cin>>n;cout<<solve(n)<<" ";}return 0;
}

一般大佬的Coding:

#include <bits/stdc++.h>
using namespace std;
using u32 = unsigned int;
using i64 = long long;
using u64 = unsigned long long;
#define int long long
#define rep(i, a, b) for (int (i) = (a); (i) <= (b); ++i)
#define rep2(i, a, b) for (int (i) = (a); (i) >= (b); --i)
#define debug(x) std::cout << #x << " : " << x << "\n";
#define debug2(x,y) std::cout << #x << " : " << x << " " << #y << " : " << y << "\n";
const int MOD = 998244353;
const int N = 1e6 + 10;
long long power(long long a, int b, int p) {long long res = 1;while (b) {if (b & 1) res = res * a % p;b >>= 1;a = a * a % p;}return res;
}
long long inv(int x) { return power(x, MOD - 2, MOD); }
int fac[N];
void init() {fac[0] = 0;for (int i = 1; i <= N - 1; i++) {fac[i] = fac[i - 1] + __builtin_ctz(i);}
}
void solve()
{int n; cin >> n;cout << inv(fac[n] + 1) << " ";
}
signed main()
{std::ios::sync_with_stdio(false);// cout<<std::fixed<<std::setprecision(10);std::cin.tie(0);init();int t__ = 1;cin >> t__;while (t__--)solve();return 0;
}

D题 数组4.0
思路

排序分段,段和段之间只需一条边即可连接;段和单点之间需要再考虑单点内部连接。

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int n,m;
int b[N],cnt[N];
int ans=0;void solve()
{if(n==1){cout<<0<<"\n";return ;}//只有一个数sort(b,b+n);m=unique(b,b+n)-b;if(m==1){cout<<n-1<<"\n";return ;}//只有一个元素ans=0;bool p=0;// p==1时,说明这是一段的左边或者内部,而不是单点for(int i=1;i<m;i++){if(b[i]-b[i-1]==1){p=1;continue;}ans++;if(p==0) ans+=cnt[b[i-1]]-1; //说明上一段结束,此时也结束,说明上个点是单点p=0;}if(p==0)ans+=cnt[b[m-1]]-1;//单点cout<<ans<<"\n";}
signed main()
{int t;cin>>t;while(t--){for(int i=0;i<N;i++)cnt[i]=0;cin>>n;for(int i=0;i<n;i++)cin>>b[i],cnt[b[i]]++;solve();}return 0;
}
/*
1
7
1 2 4 4 6 7 8 
*/

小苯的逆序对和
思路

简单的思维题,直觉双指针,然后把自己绕进去,最后画座多峰的山就好理解了。
l 找峰顶,mx记录当前最高的峰顶,j作为指针,遍历完满足当前低于最高峰顶mx的最大答案,否则继续更新l

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int n,m;
int b[N],cnt[N];
int ans=0;void solve()
{int l=0,r=n-1;ans=0;int mx=b[l];while(l<r){while(l<r&&b[l]<b[l+1])l++;//左边找这一段最大的,山峰if(l==r)break;mx=max(mx,b[l]);//此时最高的山峰int j=l+1;while(j<=r&&mx>b[j]){ans=max(mx+b[j],ans);j++;}l=j;}cout<<ans<<'\n';
}
signed main()
{int t;cin>>t;while(t--){cin>>n;for(int i=0;i<n;i++)cin>>b[i];solve();}return 0;
}
/*
1
7
1 2 4 4 6 7 8 
*/

B题 token

前缀和,检查两遍才发现忘记开long long了,代码就不展示了。

http://www.dtcms.com/a/470012.html

相关文章:

  • 编译原理机测客观题(3)自顶向下语法分析练习题
  • [学习日记][springboot 1-7][leetcode 6道]
  • 双榜加冕!赛博威入选第一新声AI Agent厂商图谱与AI产业创新先锋榜单
  • YOLO 目标检测算法全解析:原理、分类与性能指标
  • 华为5736交换机 dhcp静态绑定方法
  • 网站建设要求 优帮云合肥seo网站管理
  • LeetCode 3186.施咒的最大总伤害:动态规划+双指针——O(1)空间(暂未发现其他O(1)空间的题解)
  • LeetCode 热题 100(持续更新版)
  • 网站开发 jsp开发工具网页设计介绍说明
  • 沈阳网站建站推广湖南网站建设效果
  • 会员体系搭建攻略讲解:从分层运营到提升用户忠诚度
  • Merkle Tree(默克尔树)原理分析
  • Vue3 学习笔记 8:其它 API
  • 库早报|15999元!先临三维发布口袋式3D扫描仪;激光制造与增材制造大会延期;拓竹双项入选《时代》年度发明榜
  • 流量网站建设教程电子商务网站建设php
  • React中Element、Fiber、createElement和Component关系
  • 大语言模型(LLM)是“预制菜”? 从应用到底层原理,在到中央厨房的深度解析
  • 做的好的商城网站南昌网站搭建公司 赣ICP
  • 软件测试资源笔记(4万字,持续更新中)
  • 做外贸网站做成哪种形式好WordPress购物个人中心
  • LeetCode 395 - 至少有 K 个重复字符的最长子串
  • 科技有限公司可以做网站建设吗成都网站网络建设
  • Qt绘制折线图
  • Idea中新建package包,变成了Directory
  • 如何自建淘宝客网站wordpress 知笔墨
  • Python爬虫实战:腾讯控股2024年资产负债分析
  • AI-调查研究-100-具身智能 现代AI方法全解析:强化学习、模仿学习与Transformer在机器人控制中的应用
  • Docker核心技术:深入理解网络模式 ——Host/None/Container 模式与混合云原生架构实践
  • 南通市住房城乡建设局网站磁力蜘蛛种子搜索
  • 解决HTML塌陷的方法