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

哪个公司制作网站好个人可以建设哪些网站

哪个公司制作网站好,个人可以建设哪些网站,微信sdk,红色ppt模板免费下载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/a/501114.html

相关文章:

  • 上海网站建设怎么样长沙网站快速排名提升
  • 网站开发工程师的经验wordpress知更鸟more
  • 雅布设计中国分公司在哪里新站优化
  • 异数OS-织梦师-操作系统与数据库的合体(十一)-使用异数OS打造高性能低成本元宇宙OLTP数据库引擎
  • 免费设立网站新建网站如何调试
  • 拨付网站建设费用的报告百度网站评分
  • 麻涌镇网站仿做域名解析映射到网站空间怎么做
  • 赚钱的网站开发项目网站关键词排名
  • SAP MM寄售发票校验接口分享
  • 新网站制作公司网站嵌入js
  • 做美妆网站的关键词用户登录界面设计
  • PrivaZer Pro v4.0.111_Win中文_电脑清理工具 _安装教程
  • 低电容ESD保护二极管设计指南:选型要点与ASIM解决方案
  • 做网站便宜服务器网站后台登陆密码黄框显示
  • 网站前台订单功能模块凡客网站做SEO能被收录吗
  • 司法网站建设与维护 教材域名续费一般多少一年
  • 潜山做网站wordpress 釆集插件
  • StackedGAN详解与实现
  • 怎么开网站平台WordPress图片上传最大尺寸
  • 大连网站制作 姚喜运襄阳旅游景点网站建设
  • 深圳建设工程协会网站seo有哪些优化工具
  • 化妆品购物网站排名负责做网站的叫什么公司
  • 大连html5网站建设价格重庆app定制软件开发
  • wordpress谷歌字体加载慢漳州网站优化
  • 网站会员后台网站设计什么价位
  • 网站开发工程师有证书考试吗深圳专业网站建设公司
  • 【微知】一些常用的日常技术英语词语或者词组(不断更新)
  • 绿建设计院网站php 上传网站
  • 个人如何建网站wordpress主题6
  • 网盟官方网站外贸soho建站公司