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

网站建设维护 知乎域名查询ip地址

网站建设维护 知乎,域名查询ip地址,汝州建设局网站,公司企业邮箱怎么开通注册目录 A. The Man who became a God 题目分析: B. Hamon Odyssey 题目分析: C. Vampiric Powers, anyone? 题目分析: A. The Man who became a God 题目分析: n个人分成k组,每一组的力量都是这样的,那么如果分成k组那么就会有k-1个力量不被统计…

目录

A. The Man who became a God 

题目分析:

B. Hamon Odyssey

题目分析:

C. Vampiric Powers, anyone?

题目分析: 


A. The Man who became a God 

题目分析:

n个人分成k组,每一组的力量都是|a_{i+1}-a_i|这样的,那么如果分成k组那么就会有k-1个力量不被统计,将力量总和减去前k-1个最大的力量就是最小的结果

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 0x3f3f3f3f
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
using namespace std;
typedef pair<int,int>pii;
const int N =105;
int a[N],sb[N];
bool cmp(int a,int b){return a>b;
}
signed main()
{IOS
use{int n,k;cin>>n>>k;cin>>a[1];for(int i=2;i<=n;i++){cin>>a[i];sb[i-1]=abs(a[i]-a[i-1]);}sort(sb+1,sb+n,cmp);int sum=0;for(int i=k;i<n;i++){sum+=sb[i];}cout<<sum<<endl;
}return 0;
}

B. Hamon Odyssey

 

题目分析:

将数组分组,每个组内进行按位与运算,若想让每个组的结果加和最小,最多可以分几个组

按位与运算,是一个单调递减的过程,如果一个数字的某一位为0,那么无论多少数该位为1 ,结果都为0,对于题目来说,我们需要尽可能的将一个组的结果变为零,也即让所有的0尽可能的发挥作用,故,如果当前数按位与为零之后,将其分为一组.

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 0x3f3f3f3f
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
using namespace std;
typedef pair<int,int>pii;
const int N =2e5+7;
signed main()
{IOS
use{int fi=0,ans=0,x,n;cin>>n;for(int i=1;i<=n;i++){cin>>x;if(fi==0)fi=x,ans++;fi&=x;}if(!fi)ans++;cout<<max(1ll,ans-1)<<endl;
}return 0;
}

C. Vampiric Powers, anyone?

题目分析: 

给一个数组,可以在数组的末尾加上从i~n的异或和,求出数组最大的数可能是多少。

已知可以将i~n的异或和(qwq)提取出来,那么从1~i-1的异或和(awa)就可以通过AllXOR^qwq=awa;

我们可以利用前缀和的思想,存下前i项的异或和,我们可以通过XOR前面的异或和来获得各个小区间的异或和,最终遍历取最大值即可;

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 0x3f3f3f3f
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
#define LEN length()
#define all(a) a.begin(),a.end()
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
using namespace std;
typedef pair<int,int>pii;
signed main()
{IOS
use{int n;cin>>n;vector<int> a(n+1);for(int i=1;i<=n;i++){cin>>a[i];a[i]^=a[i-1];}vct<bool>st((1<<8|1),0);st[0]=1;int ans=0;for(int i=1;i<=n;i++){for(int j=0;j<(1<<8);j++){if(st[j]) ans=max(ans,j^a[i]);}st[a[i]]=1;}cout<<ans<<endl;}
return 0;
}

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

相关文章:

  • wordpress网站导航模板商务软文写作
  • 电商网站网址大全图片搜索图片识别
  • 怎么介绍自己的网页宁波百度推广优化
  • 房源网seo外包公司如何优化
  • 网站建设与管理的现状全网模板建站系统
  • 青岛南丰网站建设公司浏览器打开网站
  • 做外贸网站报价友情链接交易平台源码
  • 做护肤品好的网站nba在线直播免费观看直播
  • 浙江网站建设而百度推广怎么注册账号
  • 用dz程序做的电影网站百度客服24小时人工服务在线咨询
  • wordpress做公司网站手机网站排名优化软件
  • 网站竞价排名百度搜索关键词设置
  • 做网站要主机还是服务器友情链接检查工具
  • 为什么网站在本地看没问题上传之后没有内容呢?大连seo
  • 住房与城乡建设部网站注册中心人力资源培训
  • wordpress 外贸网站什么平台发广告最有效
  • 做网站为什么要用php框架最新新闻播报
  • 佛山免费网站制作seo域名如何优化
  • 网站建设需求统计表关键词在线播放免费
  • 带做骑传奇私服网站网站运营和维护
  • 做解密类网站可行新品牌推广方案
  • wordpress网站检测百度优化
  • 营销型网站知识产品推广
  • 大型网站 开发流程网站优化快速排名软件
  • 做网站怎么做企业网络组网设计
  • WordPress网站根目录有哪些app注册推广任务平台
  • 做策划的人经常浏览的网站如何做网站推广及优化
  • 东莞企业建站收费产品推广国色天香站长工具
  • 网站制作要学多久岳阳seo公司
  • java做的网站用什么发布站长工具永久