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

用php做购物网站案例/收录查询api

用php做购物网站案例,收录查询api,外贸网站建设如何做呢,高端的佛山网站建设最近急速补练蓝桥杯中,疏于cf练习。 感觉自己过题还是太慢了。 今日水题,我水水水水。 1- 1979C lcm 水 1400 第 i i i局赢了,1个硬币顶 k [ i ] k[i] k[i]个贡献,所以每局分硬币 x i 1 k [ i ] x_i{1\over k[i]} xi​k[i]1​个…

最近急速补练蓝桥杯中,疏于cf练习。
感觉自己过题还是太慢了。
今日水题,我水水水水。

1- 1979C lcm 水 1400

  • i i i局赢了,1个硬币顶 k [ i ] k[i] k[i]个贡献,所以每局分硬币 x i = 1 k [ i ] x_i={1\over k[i]} xi=k[i]1个,最后能赢一个硬币。整个游戏下来,如果能赢回来必须 ∑ 1 k [ i ] < 1 \sum {1\over k[i]}<1 k[i]1<1
  • 1 k [ i ] {1\over k[i]} k[i]1变成整数就是答案,变成整数要 × l c m ( k ) \times lcm(k) ×lcm(k),因为如果直接累乘 k k k的话会是 5 0 20 50^{20} 5020超范围。
#define int long long
int lcm(int x,int y){return x*y/(__gcd(x,y));
}
void solve(){int n;cin>>n;vector<int>k(n+1);int mul=1;forr(i,1,n){cin>>k[i];mul=lcm(mul,k[i]);}int sum=0;forr(i,1,n){sum+=(mul/k[i]);}if(sum>=mul)return cout<<-1<<endl,void();else {forr(i,1,n){cout<<mul/k[i]<<' ';}cout<<endl;}}

2- 2077A 找规律 构造?1500

思路来源
凑数 构造

  • b b b 2 n 2n 2n个数, a a a b b b多一个
  • n = 2 n=2 n=2 a a a数组 − a 1 + a 2 − a 3 + a 4 − a 5 = 0 -a_1+a_2-a_3+a_4-a_5=0 a1+a2a3+a4a5=0
  • a a a数组两两不同,多构造的那个数不能和其他相同

从第一条可以有:
a 1 = a 2 − a 3 + a 4 − a 5 a_1=a_2-a_3+a_4-a_5 a1=a2a3+a4a5
a 2 = a 3 + a 4 + a 5 − a 1 a_2=a_3+a_4+a_5-a_1 a2=a3+a4+a5a1
排序角度想 如果 a 1 < a 3 < a 4 < a 5 a_1<a_3<a_4<a_5 a1<a3<a4<a5,那么 a 2 = a 5 + a 3 + a 4 − a 1 > a 5 a_2=a_5+a_3+a_4-a_1>a_5 a2=a5+a3+a4a1>a5 a 2 > a 5 a_2>a_5 a2>a5 a 2 a_2 a2肯定和 a 5 a_5 a5不同。
做法就是把 b b b排序后,后 n − 1 n-1 n1个数和前 n − 1 n-1 n1个数做差,再加中间俩剩下的数,得到一个 a 2 k a_{2k} a2k位置的数。
其他的数,被减数做奇数位,减数做偶数位,

void solve(){int n;cin>>n;vector<int>b(2*n),a(2*n+2);forr(i,0,2*n-1){cin>>b[i];}sort(b.begin(),b.end());int idx=1,sum=0;//idx走的是奇数位置forr(i,0,n-2){sum+=(b[2*n-1-i]-b[i]);a[idx]=b[2*n-1-i];a[idx+1]=b[i];idx+=2;}sum+=(b[n-1]+b[n]);a[idx]=b[n-1];a[idx+1]=sum;a[idx+2]=b[n];forr(i,1,2*n+1)cout<<a[i]<<' ';cout<<endl;
}

3- 2075C 思维 二分

思路来源

  • 枚举需要涂的数目,排序后二分查找能满足该数目的颜色种数 x , y x,y x,y
  • 组合两拨颜色,种数 x × y x\times y x×y
  • x 、 y x、y xy两拨颜色中有包含关系,需要减去相同颜色组合的情况,数目是 m i n ( x , y ) min(x,y) min(x,y)
void solve(){int n,m;cin>>n>>m;vector<int>a(m);forr(i,1,m)cin>>a[i-1];sort(a.begin(),a.end());int ans=0;forr(i,1,n-1){int x=lower_bound(a.begin(),a.end(),i)-a.begin();int y=lower_bound(a.begin(),a.end(),n-i)-a.begin();x=m-x,y=m-y;ans+=(x*y-min(x,y));}cout<<ans<<endl;
}

4- 2075B 贪心 思维 1300

思路来源
目的让结果最大

  • 取前k个数时取最大的前k个数
  • 最后一个数的问题:
    • 如果 k > 1 k>1 k>1,已经涂蓝色的可以向中间和两边拓展,跳过剩下的数中最大的最后涂蓝色。最后的答案相当于所有 k + 1 k+1 k+1大的数的和

    我们设这个没取到的为 i,显然它夹在第一轮取得的数的中间。设它夹在位置 x 和 y 间,显然我们可以通过染色挨个挨个从 x 向右染到位置 i−1,不染 i,接着从 y 向左染到位置 i+1,然后考虑这个连续子序列外的红色,显然可以都染成蓝色,最后在把位置 i 染成蓝色并计入它的贡献。

    • 如果 k = 1 k=1 k=1,不能从两边推进蓝色,不好控制最后一个数选最大的。退而求其次,
      • 一个蓝色往两边拓展,最后一定选数组两端的数,选个较大的。
      • 选的蓝色在边上,最后一个数一定在另一头。
      • 两种情况取最大。
void solve(){int n,k;cin>>n>>k;vector<int>a(n);forr(i,1,n)cin>>a[i-1];int sum=0;if(k==1){int maxn=0;forr(i,1,n-2)maxn=max(maxn,a[i]);sum+=max(maxn+max(a[0],a[n-1]),a[0]+a[n-1]);//两个策略:中间+两边任一  两边}else{sort(a.begin(),a.end());forr(i,1,k+1)sum+=a[n-i];}cout<<sum<<endl;
}

5- 2091E 数论 1300

题目要求 ( a , b ) (a,b) (a,b)满足 l c m ( a , b ) g c d ( a , b ) = p r i m e \frac{lcm(a,b)}{gcd(a,b)}=prime gcd(a,b)lcm(a,b)=prime

  • 根据算术基本定理
    • l c m ( a , b ) = Π p i m a x ( a i , b i ) lcm(a,b)=\Pi p_i^{max(a_i,b_i)} lcm(a,b)=Πpimax(ai,bi)
    • g c d ( a , b ) = Π p i m i n ( a i , b i ) gcd(a,b)=\Pi p_i^{min(a_i,b_i)} gcd(a,b)=Πpimin(ai,bi)
  • 两个比值想要为质数,只能有一个i, m a x ( a i , b i ) − m i n ( a i , b i ) ≠ 0 max(a_i,b_i)-min(a_i,b_i)\neq0 max(ai,bi)min(ai,bi)=0
  • a < b a<b a<b那么 l c m ( a , b ) g c d ( a , b ) = b a = p r i m e \frac{lcm(a,b)}{gcd(a,b)}={b\over a}=prime gcd(a,b)lcm(a,b)=ab=prime
  • 找出质数,枚举a即可
const int N=1e7+10;
// map<int,int>vis; 用map会MLE
bitset<N>vis;
vector<int>p;
void find_p(){vis[0]=vis[1]=1;forr(i,2,N){if(vis[i]==0)p.push_back(i);for(auto j:p){if(j*i>N)break;vis[j*i]=1;if(i%j==0)break;}}
}
void solve(){int n;cin>>n;int ans=0,idx=0;while (idx<p.size()&&p[idx]<n)idx++;idx=min(idx,(int)(p.size()-1));//这里的i遍历a a×最小的p(就是2) 保持<=nforr(i,1,n/2){//随着i增大 i*p<n 的p个数在减小 所以idx不断减小while (p[idx]*i>n)idx--;ans+=(idx+1);}cout<<ans<<endl;
}
signed main()
{ios::sync_with_stdio(false), std::cin.tie(nullptr), std::cout.tie(nullptr);int _ ;_ = 1;find_p();cin>>_;while (_--){solve();}return 0;
}
http://www.whsansanxincailiao.cn/news/31971144.html

相关文章:

  • 网站建设定制网站建设公司哪家好/西安百度公司官网
  • 触屏网站开发/外链管理
  • 手机怎么做自己的网站/百度竞价排名背后的伦理问题
  • 哪里可以在百度做网站/互联网推广广告
  • 我做网站价格/百度信息流广告代理
  • 玄武网站制作收费报价/最新社会舆情信息
  • 网站欢迎页面flash/站长工具高清
  • 网络编程有哪些/科学新概念seo外链平台
  • 网站个人中心设计/武汉网络广告推广服务
  • 服务好的公司网站建设与维护/百度招聘官网首页
  • 学生自做网站优秀作品/如何联系百度推广
  • 广州网站设计企业/竞价排名
  • 西部数码做跳转网站/福州网站seo公司
  • 自己做的电商网站要多少钱/快速seo软件
  • 广告公司 网站模板/承德seo
  • 建筑公司网站运营方案/微信crm客户管理系统
  • 企业网站建立公司/百度官网登录入口
  • 山东省城乡和住房建设厅网站/网络营销工具及其特点
  • 服装电子商务网站有哪些/个人开发app去哪里接广告
  • 浙江北仑哪里可以做新闻网站编辑/百度热搜榜第一
  • 泰州专门做网站/旺道智能seo系统
  • 智能建站cms管理系统/今日广州新闻头条
  • 西安企业网站开发哪家好/seo的培训课程
  • 莱芜网站推广/2345网址导航大全
  • 手机网站后台源码/开一个免费网站
  • 公司网站优化要怎么做/sem和seo的关系
  • wordpress w3c/结构优化设计
  • 开发wordpress 需要学习/建站网站关键词优化
  • wordpress企业网站建设/上海百度推广电话客服
  • 上海南汇汽车网站制作/windows优化大师会员