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

怎样做网站的后台搜索引擎优化策略不包括

怎样做网站的后台,搜索引擎优化策略不包括,为什么要给企业建设网站,图片展示网站搭建A. LRC and VIP 将数组分为不为空的两组&#xff0c;要求每组gcd不同。 首先考虑不能分组的情况&#xff1a;整个数组只有一个数。 其他情况均成立&#xff0c;所以将最大值单独分为一组即可。 #include <bits/stdc.h> #define x first #define y second #define int…

A. LRC and VIP

将数组分为不为空的两组,要求每组gcd不同。

首先考虑不能分组的情况:整个数组只有一个数。

其他情况均成立,所以将最大值单独分为一组即可。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL ;
typedef pair<int,int> PII ;
typedef pair<long double,long double> PDD ;
const int N = 500010 , M = 6000000 , mod = 998244353 ;
int n ;
int a[110] ;void solve()
{cin >> n ;int mx = 0 ;set<int> st ;for(int i = 1 ; i <= n ; i ++) {cin >> a[i] ;mx = max(a[i] , mx) ;st.insert(a[i]) ;}if(st.size() == 1) {cout << "No" << "\n" ;return ;}cout << "Yes" << "\n" ;for(int i = 1 ; i <= n ; i ++)if(a[i] != mx) cout << "1" << " " ;else cout << "2" << " " ;cout << "\n" ;    
}
signed main()
{std::ios::sync_with_stdio(false) , cin.tie(0) , cout.tie(0) ;int t = 1 ;cin >> t ;while (t --) solve() ;return 0;
}

B. Apples in Boxes

如果一开始不管tom怎么拿,max-min>k,那么tom输,否则,就一定可以拿完所有的苹果,统计数量即可。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL ;
typedef pair<int,int> PII ;
typedef pair<long double,long double> PDD ;
const int N = 500010 , M = 6000000 , mod = 998244353 ;
int n , k ;
int a[N] ;void solve()
{cin >> n >> k ;int sum = 0 ;for(int i = 1 ; i <= n ; i ++) cin >> a[i] , sum += a[i] ;sort(a + 1 , a + n + 1) ;if(max(a[n] - 1 , a[n - 1]) - a[1] > k) {cout << "Jerry\n" ;return ;}if(sum % 2) cout << "Tom\n" ;else cout << "Jerry\n" ;
}
signed main()
{std::ios::sync_with_stdio(false) , cin.tie(0) , cout.tie(0) ;int t = 1 ;cin >> t ;while (t --) solve() ;return 0;
}

C. Maximum Subarray Sum

首先我们先统计s中是否有0,如果没有只要最大子段和不为k则输出"No"。

如果有0,则我们先把所有对应位置填上-1e15,如果这个时候最大子段和大于k,则输出"No"。

如果不满足以上两种情况则说明有答案。我们只需要改变s中第一个0位置的数,这时可以用二分的方法填充该位置。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL ;
typedef pair<int,int> PII ;
typedef pair<long double,long double> PDD ;
const int N = 200010 , M = 6000000 , mod = 998244353 ;
int n , k ;
int a[N] , f[N] ;
string s ;
int check(int p) {int mx = -1e18 ;for(int i = 1 ; i <= p ; i ++) {f[i] = max(f[i - 1] + a[i] , a[i]) ;mx = max(mx , f[i]) ;}return mx ;
}
void solve()
{cin >> n >> k >> s ;s = " " + s ;for(int i = 1 ; i <= n ; i ++) {cin >> a[i] ;}int f = 0 ;for(int i = 1 ; i <= n ; i ++)if(s[i] == '0') {f = i ;break ;}int mx = check(n) ;if(!f && mx != k) {cout << "No\n" ;return ;}if(mx == k) {cout << "Yes\n" ;for(int i = 1 ; i <= n ; i ++)cout << a[i] << " " ;cout << "\n" ;return ;}for(int i = 1 ; i <= n ; i ++)if(s[i] == '0') a[i] = -1e15 ;if(check(n) > k) {cout << "No\n" ;return ;}cout << "Yes" << "\n" ;int  p = f ;for(int i = f + 1 ; i <= n ; i ++)if(s[i] == '1') p = i ;else break ;int l = -1e15 , r = 1e15 ;while(l < r) {int mid = (l + r - 1) / 2 ;a[f] = mid ;if(check(p) >= k) r = mid ;else l = mid + 1 ;}a[f] = l ;for(int i = 1 ; i <= n ; i ++) cout << a[i] << " " ;cout << "\n" ;
}
signed main()
{std::ios::sync_with_stdio(false) , cin.tie(0) , cout.tie(0) ;int t = 1 ;cin >> t ;while (t --) solve() ;return 0;
}

D. Apple Tree Traversing

维护树的最长直径,注意不要重复搜索,时间复杂度为

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL ;
typedef pair<int,int> PII ;
typedef pair<long double,long double> PDD ;
const int N = 200010 , M = N * 2 , mod = 998244353 ;
int n ;
int h[N] , e[M] , ne[M] , idx ;
int d[N] , st[N] , fa[N] ;
struct node{int d , u , v ;
};
vector<node> res ;bool cmp(node a , node b) {if(a.d != b.d) return a.d > b.d ;if(a.u != b.u) return a.u > b.u ;return a.v > b.v ;
}
void add(int a , int b) {e[idx] = b , ne[idx] = h[a] , h[a] = idx ++ ;
}
void dfs(int u , vector<int> &q) {q.push_back(u) ;for(int i = h[u] ; ~i ; i = ne[i]) {int j = e[i] ;if(st[j] || fa[u] == j) continue;fa[j] = u ;d[j] = d[u] + 1 ;dfs(j , q) ;}
}
void dfs1(int root) {vector<int> q ;d[root] = 0 , fa[root] = -1 ;dfs(root , q) ;for(int i = 0 ; i < q.size() ; i ++) {if(d[q[i]] > d[root] || (d[q[i]] == d[root] && q[i] > root))root = q[i] ;}q.clear() ;d[root] = 0 , fa[root] = -1 ;dfs(root , q) ;int u = root ;for(int i = 0 ; i < q.size() ; i ++) {if(d[q[i]] > d[u] || (d[q[i]] == d[u] && q[i] > u))u = q[i] ;}res.push_back({d[u] + 1 , max(u , root) , min(u , root)}) ;for(int i = u ; u != -1 ; u = fa[u])st[u] = 1 ;for(int i = 0 ; i < q.size() ; i ++) {if(!st[q[i]])dfs1(q[i]) ;}
}
void solve()
{cin >> n ;res.clear() ;for(int i = 0 ; i <= n ; i ++) h[i] = -1 , d[i] = 0 , st[i] = 0 , fa[i] = -1 ;for(int i = 0 ; i < n - 1 ; i ++) {int u , v ;cin >> u >> v ;add(u , v) , add(v , u) ;}dfs1(1) ;sort(res.begin() , res.end() , cmp) ;for(int i = 0 ; i < res.size() ; i ++)cout << res[i].d << " " << res[i].u << " " << res[i].v << " " ;cout << "\n" ;
}
signed main()
{std::ios::sync_with_stdio(false) , cin.tie(0) , cout.tie(0) ;int t = 1 ;cin >> t ;while (t --) solve() ;return 0;
}

 

 

http://www.dtcms.com/wzjs/487061.html

相关文章:

  • 做网站的项目开发计划书seo中文意思是
  • 深圳台历制作seo公司广州
  • 做网站建设的一般在哪儿找北京朝阳区优化
  • 英国小子做房产网站石家庄关键词优化报价
  • 云南网站建设运营广州今日刚刚发生的新闻
  • ui设计原理seo优化软件
  • 东营网站建设服务电话怎么创作自己的网站
  • 网站建设毕业设计怎么做成都公司建站模板
  • 深圳市外贸网站建设怎样在百度上发布自己的信息
  • 可以做动画的网站都有哪些软件下载识别关键词软件
  • 如何搭建自己的网站服务器地址梅花seo 快速排名软件
  • 世界十大广告公司排名怎么做seo网站关键词优化
  • 做海报找图片的网站郑州seo服务公司
  • 镇江互联网公司宁波seo优化外包公司
  • 做传单的网站引擎优化搜索
  • 黄岛做网站锦绣大地seo
  • 俄罗斯b2b常用网站站长工具seo综合
  • 重庆涪陵网站建设公司国外免费网站域名服务器
  • 惠州网站建设制作优化电脑的软件有哪些
  • 冶金建设网站谷歌play商店官网
  • wordpress默认主题seo优化主要工作内容
  • 响应式网站 html素材网
  • 企业网站每年续费吗微平台推广
  • 垂直汽车网站做电商的优势巨量广告投放平台
  • 爱客crm手机下载seo零基础教学
  • 服装网站怎么做seo站长博客
  • php网站开发实用技术练习题app推广地推接单网
  • 弓长岭网站建设百度指数在线查询
  • 建站工具 比较邯郸网站优化公司
  • 昆明网络公司appseo百度关键词优化