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

一个网站是怎么建立的seo教程书籍

一个网站是怎么建立的,seo教程书籍,网页设计实训总结1500字通用,vps搬家wordpress题目描述 小 L 和小 Q 在玩一个策略游戏。 有一个长度为 nnn 的数组 AAA 和一个长度为 mmm 的数组 BBB,在此基础上定义一个大小为 nmn \times mnm 的矩阵 CCC,满足 CijAiBjC_{i j} A_i \times B_jCij​Ai​Bj​。所有下标均从 111 开始。 游戏一共会进行…

题目描述

小 L 和小 Q 在玩一个策略游戏。

有一个长度为 nnn 的数组 AAA 和一个长度为 mmm 的数组 BBB,在此基础上定义一个大小为 n×mn \times mn×m 的矩阵 CCC,满足 Cij=Ai×BjC_{i j} = A_i \times B_jCij=Ai×Bj。所有下标均从 111 开始。

游戏一共会进行 qqq 轮,在每一轮游戏中,会事先给出 444 个参数 l1,r1,l2,r2l_1, r_1, l_2, r_2l1,r1,l2,r2,满足 1≤l1≤r1≤n1 \le l_1 \le r_1 \le n1l1r1n1≤l2≤r2≤m1 \le l_2 \le r_2 \le m1l2r2m

游戏中,小 L 先选择一个 l1∼r1l_1 \sim r_1l1r1 之间的下标 xxx,然后小 Q 选择一个 l2∼r2l_2 \sim r_2l2r2 之间的下标 yyy。定义这一轮游戏中二人的得分是 CxyC_{x y}Cxy

小 L 的目标是使得这个得分尽可能大,小 Q 的目标是使得这个得分尽可能小。同时两人都是足够聪明的玩家,每次都会采用最优的策略。

请问:按照二人的最优策略,每轮游戏的得分分别是多少?

输入格式

第一行输入三个正整数 n,m,qn, m, qn,m,q,分别表示数组 AAA,数组 BBB 的长度和游戏轮数。

第二行:nnn 个整数,表示 AiA_iAi,分别表示数组 AAA 的元素。

第三行:mmm 个整数,表示 BiB_iBi,分别表示数组 BBB 的元素。

接下来 qqq 行,每行四个正整数,表示这一次游戏的 l1,r1,l2,r2l_1, r_1, l_2, r_2l1,r1,l2,r2

输出格式

输出共 qqq 行,每行一个整数,分别表示每一轮游戏中,小 L 和小 Q 在最优策略下的得分。

输入输出样例 #1

输入 #1

3 2 2
0 1 -2
-3 4
1 3 1 2
2 3 2 2

输出 #1

0
4

输入输出样例 #2

输入 #2

6 4 5
3 -1 -2 1 2 0
1 2 -1 -3
1 6 1 4
1 5 1 4
1 4 1 2
2 6 3 4
2 5 2 3

输出 #2

0
-2
3
2
-1

说明/提示

【样例解释 #1】

这组数据中,矩阵 CCC 如下:

[00−346−8] \begin{bmatrix} 0 & 0 \\ -3 & 4 \\ 6 & -8 \end{bmatrix} 036048

在第一轮游戏中,无论小 L 选取的是 x=2x = 2x=2 还是 x=3x = 3x=3,小 Q 都有办法选择某个 yyy 使得最终的得分为负数。因此小 L 选择 x=1x = 1x=1 是最优的,因为这样得分一定为 000

而在第二轮游戏中,由于小 L 可以选 x=2x = 2x=2,小 Q 只能选 y=2y = 2y=2,如此得分为 444

【样例 #3】

见附件中的 game/game3.ingame/game3.ans

【样例 #4】

见附件中的 game/game4.ingame/game4.ans

【数据范围】

对于所有数据,1≤n,m,q≤1051 \le n, m, q \le {10}^51n,m,q105−109≤Ai,Bi≤109-{10}^9 \le A_i, B_i \le {10}^9109Ai,Bi109。对于每轮游戏而言,1≤l1≤r1≤n1 \le l_1 \le r_1 \le n1l1r1n1≤l2≤r2≤m1 \le l_2 \le r_2 \le m1l2r2m

测试点编号n,m,q≤n, m, q \len,m,q特殊条件
1112002002001, 2
2222002002001
3332002002002
4∼54 \sim 545200200200
6661000100010001, 2
7∼87 \sim 8781000100010001
9∼109 \sim 109101000100010002
11∼1211 \sim 121112100010001000
131313105{10}^51051, 2
14∼1514 \sim 151415105{10}^51051
16∼1716 \sim 171617105{10}^51052
18∼2018 \sim 201820105{10}^5105

其中,特殊性质 1 为:保证 Ai,Bi>0A_i, B_i > 0Ai,Bi>0
特殊性质 2 为:保证对于每轮游戏而言,要么 l1=r1l_1 = r_1l1=r1,要么 l2=r2l_2 = r_2l2=r2

算法思路

  • 代码使用了稀疏表(ST表)来预处理数组x和y,以便快速查询区间最大值和最小值。主要思路是预处理x数组的正负值区间极值,以及y数组的区间极值,然后根据查询结果组合计算最终答案。

关键步骤

  • 预处理对数数组lg,用于快速计算区间查询时的分段长度。
  • 初始化两个ST表对象amax和amin,分别用于存储x数组的原始值和极值情况。同时,初始化bmax和bmin用于存储y数组的极值。
  • 在每次查询时,分别查询x数组在指定区间的最大值、最小值以及特殊条件下的极值,同时查询y数组在指定区间的极值。
  • 通过组合这些极值,计算最终答案,具体逻辑是:
  • 如果x的值为负,乘以y的最大值;
  • 如果x的值为正,乘以y的最小值;
  • 考虑x数组中的特殊极值情况(如全负或全正)。

复杂度分析

  • 预处理阶段的时间复杂度为O(n log n + m log m),每次查询的时间复杂度为O(1)。因此,整体复杂度为O((n + m) log (n + m) + q),适用于大规模数据查询。

详细代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+5;
int lg[22],x[N],y[N],bmax_,bmin_;
int n,m,q;
class node{
private:int a[N];int m[N][22];
public:int n;void add(int aa,int ab[]){for(int i=1;i<=n;i++)if(ab[i]<0&&aa==1)a[i]=1e18;else if(ab[i]>=0&&aa==2)a[i]=-1e18;elsea[i]=ab[i];}void yu(){for(int i=n;i>=1;i--)m[i][0]=a[i];}void qiuxiao(){for(int i=1;i<=20;i++)for(int j=1;j+(1<<i)-1<=n;j++)m[j][i]=min(m[j][i-1],m[j+(1<<(i-1))][i-1]);}void qiuda(){for(int i=1;i<=20;i++)for(int j=1;j+(1<<i)-1<=n;j++)m[j][i]=max(m[j][i-1],m[j+(1<<(i-1))][i-1]);}int qiumax(int l,int r){int s=lg[r-l+1];return max(m[l][s],m[r-(1<<s)+1ll][s]);}int qiumin(int l,int r){int s=lg[r-l+1];return min(m[l][s],m[r-(1<<s)+1ll][s]);}
}amax,amin,amax1,amin1,bmin,bmax;
int suan(int u)
{if(u<0)return u*bmax_;elsereturn u*bmin_;
}
signed main()
{ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);int l1,r1,l2,r2;cin>>n>>m>>q;for(int i=1;i<=n;i++)cin>>x[i];for(int i=1;i<=m;i++)cin>>y[i];lg[1]=0;int mmm=max(n,m);for(int i=2;i<=mmm;i++)lg[i]=lg[i>>1]+1;amax.n=n;amin.n=n;amin1.n=n;amax1.n=n;bmin.n=m;bmax.n=m;amax.add(0,x);amin.add(0,x);amax1.add(2,x);amin1.add(1,x);bmin.add(0,y);bmax.add(0,y);amax.yu();amin.yu();amin1.yu();amax1.yu();bmax.yu();bmin.yu();amax.qiuda();amin.qiuxiao();amax1.qiuda();amin1.qiuxiao();bmax.qiuda();bmin.qiuxiao();while(q--){cin>>l1>>r1>>l2>>r2;int amax_=amax.qiumax(l1,r1);int amax1_=amax1.qiumax(l1,r1);int amin_=amin.qiumin(l1,r1);int amin1_=amin1.qiumin(l1,r1);bmin_=bmin.qiumin(l2,r2);bmax_=bmax.qiumax(l2,r2);int ans=-1e18;ans=max(ans,suan(amax_));if(amax1_!=-1e18)ans=max(ans,suan(amax1_));ans=max(ans,suan(amin_));if(amin1_!=1e18)ans=max(ans,suan(amin1_));
//		cout<<amax_<<" "<<amax1_<<" " <<amin_<<" "<<amin1_<<" "<<bmin_<<" "<<bmax_<<'\n';cout<<ans<<'\n';}return 0;
}
http://www.dtcms.com/wzjs/492788.html

相关文章:

  • 网站备案为什么要闭站品牌营销网站建设
  • 建站公司网站建设seo网站推广企业
  • 济南百度公司seo顾问能赚钱吗
  • 佛山 网站设计公司网络营销的特点
  • 锡盟本地网站建设网络营销服务企业
  • 中信建设有限责任公司 陈晓佳郑州seo优化外包
  • 怎样申请免费网站域名百度广告位价格表
  • 深圳服务好的网站建设河南疫情最新消息
  • 河南企业网络推广方法太原网站建设方案优化
  • 海安公司网站建设360网站推广怎么做
  • 海外推广有前途吗无锡seo网络推广
  • 广东网站备案查询百度搜索引擎广告投放
  • 聊城建设网站网络流量分析工具
  • 自己做网站分销长春百度推广公司
  • 网上国网注册推广有多少钱seo实战技巧100例
  • 双辽做网站域名查询万网
  • 建设银行投诉网站创建网站需要多少资金
  • 广州做网站报价上海抖音seo
  • 免费网站建站申请北京网站建设运营
  • 有没有做微场景的网站公司网站建设开发
  • 湖南省建设安监局官网站怎么注册网站 个人
  • 做旅游网站的好处sem
  • 沙特政府建设部网站竞价代运营公司哪家好
  • 自己网站制作的详细教程武汉seo人才
  • asp网站合法关键词点击排名软件
  • wordpress不会安装上海网络关键词优化
  • 葫芦岛住房和城乡建设厅网站百度竞价返点开户
  • 免费建立网站的平台营销软文范文
  • 中学网站建设百度提交入口的网址
  • 企业网站建设知乎seo网络推广怎么做