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

模板网站如何引擎收录长春网站建设方案咨询

模板网站如何引擎收录,长春网站建设方案咨询,网站注册页面html,成都家装设计公司排名登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;有一长度为n的数组a&#xff0c;有q次询问&#xff0c;每次要求将[l,r]的区间分成k个连续区间&#xff0c;满足每个区间和都是偶数&#xff0c;能满足要求就输出YES 1<n,q<1e5;0<ai<1e10;1<l<r&l…

登录—专业IT笔试面试备考平台_牛客网

题目大意:有一长度为n的数组a,有q次询问,每次要求将[l,r]的区间分成k个连续区间,满足每个区间和都是偶数,能满足要求就输出YES

1<=n,q<=1e5;0<=ai<=1e10;1<=l<=r<n;1<=k<=1e5

思路:要想和为偶数,那么奇数的数量必须是偶数个,所以我们把数组中的数都变成%2后的结果,也就是整个数组只有0和1构成,每个0可以作为一个合法的区间,而每个1必须要和其相邻的一个1组合才能构成一个最小的合法区间,而如果一个1和其相邻的一个1组成一个区间,那这两个1中间的0都不能作为合法的区间。

所以我们要分两种情况讨论,一种是数组中从左往右第二个1和第一个1组合,另一种是第二个和第三个1组合,然后分别对合法区间数求前缀和,每个0的贡献都是1,每个含有两个1的区间,整个区间贡献是1,例如对于0 0 1 0 0 1 0 0 1 0 0 1 0这个数组,第一个前缀和数组sum1求出来的是1 2 3 3 3 3 4 5 6 6 6 6 7,第二个数组sum2是0 0 0 1 2 3 3 3 3 4 5 6 6,另外,还要特判一下每个区间内1的数量是否是偶数,如果是奇数就可以直接输出no了。

对于其他情况,我们要看每个询问的区间适用于哪个数组,如果a[r]是1,那么哪个数组的sum[r]=sum[r-1],说明哪个数组是合法的,如果a[r]是0,那么就看哪个sum[r]!=sum[r-1],不等的那个数组提供贡献

#include<bits/stdc++.h>
//#include<__msvc_all_public_headers.hpp>
using namespace std;
typedef long long ll;
const int N = 1e5 + 5;
const ll MOD = 998244353;
ll a[N];
ll sum[N];
ll sum2[N];
ll sum3[N];
void solve()
{int n, q;cin >> n >> q;for (int i = 1; i <= n; i++){cin >> a[i];a[i] %= 2;//将数组按奇偶转换成1和0sum[i] = sum[i - 1] + a[i];//统计区间奇偶性sum2[i] = sum3[i] = 0;}int flag = 0;for (int i = 1; i <= n; i++){if (!a[i]){if(!flag)sum2[i] = 1;//在两个1中间以外的0贡献为1}else{if (!flag){flag = i;//记录上一个1的位置}else{sum2[flag]++;//上一个1到这一个1之间总共贡献1flag = 0;}}	}if (flag)//末尾没有匹配的1要+1贡献与前面的0区分开sum2[flag]++;flag = 0;int fi=0;for (int i = 1; i <= n; i++){if (!a[i]){if(!fi)//在遇到第一个1之前不记录贡献continue;if (!flag)sum3[i] = 1;}else{if(!fi){fi=i;//遇到第一个1之后,后面的统计与上一个数组相同continue;}if (!flag){flag = i;}else{sum3[flag]++;flag = 0;}}}if (flag)sum3[flag]++;for (int i = 2; i <= n; i++){//求前缀和得到区间内的合法区间数sum2[i] = sum2[i - 1] + sum2[i];sum3[i] = sum3[i - 1] + sum3[i];}for (int i = 1; i <= q; i++){int l, r, k;cin >> l >> r >> k;if ((sum[r] - sum[l - 1]) % 2!=0){cout << "NO" << endl;continue;}ll ans3 = sum3[r] - sum3[l - 1];ll ans2 = sum2[r] - sum2[l - 1];if (a[r] == 1){//右端点是1,哪个数组r=r-1就说明哪个合法if (sum2[r] == sum2[r - 1]){cout << (ans2 >= k ? "YES" : "NO") << endl;}else{cout << (ans3 >= k ? "YES" : "NO") << endl;}}else{//右端点是0,哪个数组r!=r-1就说明哪个合法if (sum2[r] != sum2[r - 1]){cout << (ans2 >= k ? "YES" : "NO") << endl;}else{cout << (ans3 >= k ? "YES" : "NO") << endl;}}}
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t;cin >> t;while (t--){solve();}return 0;
}


文章转载自:
http://edict.spbp.cn
http://uninjured.spbp.cn
http://pern.spbp.cn
http://handtailor.spbp.cn
http://interspatial.spbp.cn
http://tubercle.spbp.cn
http://eupepsia.spbp.cn
http://cowitch.spbp.cn
http://misguided.spbp.cn
http://paintbox.spbp.cn
http://vulpinite.spbp.cn
http://filariae.spbp.cn
http://lover.spbp.cn
http://speeding.spbp.cn
http://packtrain.spbp.cn
http://pipage.spbp.cn
http://headlock.spbp.cn
http://tartarian.spbp.cn
http://ladanum.spbp.cn
http://wandering.spbp.cn
http://liquate.spbp.cn
http://rescuee.spbp.cn
http://dhyana.spbp.cn
http://nek.spbp.cn
http://dibble.spbp.cn
http://adespota.spbp.cn
http://agog.spbp.cn
http://swineherd.spbp.cn
http://skirmisher.spbp.cn
http://cask.spbp.cn
http://mauritania.spbp.cn
http://bloodletting.spbp.cn
http://laudatory.spbp.cn
http://puttyblower.spbp.cn
http://cymbalo.spbp.cn
http://convertible.spbp.cn
http://causal.spbp.cn
http://unambitious.spbp.cn
http://sulfite.spbp.cn
http://nebelwerfer.spbp.cn
http://insusceptible.spbp.cn
http://unstrained.spbp.cn
http://frailly.spbp.cn
http://sciaenoid.spbp.cn
http://aaup.spbp.cn
http://firstly.spbp.cn
http://postholder.spbp.cn
http://fordone.spbp.cn
http://judicature.spbp.cn
http://tripedal.spbp.cn
http://braunite.spbp.cn
http://appointor.spbp.cn
http://tendance.spbp.cn
http://vasculitis.spbp.cn
http://tranship.spbp.cn
http://slight.spbp.cn
http://look.spbp.cn
http://choledochostomy.spbp.cn
http://dogmata.spbp.cn
http://robotology.spbp.cn
http://flocculence.spbp.cn
http://impassible.spbp.cn
http://ravening.spbp.cn
http://arbitrator.spbp.cn
http://homochromous.spbp.cn
http://troika.spbp.cn
http://zygal.spbp.cn
http://necrophil.spbp.cn
http://localize.spbp.cn
http://polis.spbp.cn
http://ophiuroid.spbp.cn
http://perverted.spbp.cn
http://hagdon.spbp.cn
http://surrealism.spbp.cn
http://crockpot.spbp.cn
http://argo.spbp.cn
http://tepoy.spbp.cn
http://seesaw.spbp.cn
http://quietive.spbp.cn
http://interferometric.spbp.cn
http://debone.spbp.cn
http://subsume.spbp.cn
http://ming.spbp.cn
http://tortola.spbp.cn
http://stripling.spbp.cn
http://intensely.spbp.cn
http://sunken.spbp.cn
http://exhort.spbp.cn
http://krona.spbp.cn
http://oryol.spbp.cn
http://unplucked.spbp.cn
http://motiveless.spbp.cn
http://miquelon.spbp.cn
http://flamboyantism.spbp.cn
http://plotz.spbp.cn
http://myelosclerosis.spbp.cn
http://eversion.spbp.cn
http://subcaudal.spbp.cn
http://philippine.spbp.cn
http://vitrification.spbp.cn
http://www.hrbkazy.com/news/58513.html

相关文章:

  • 一个网站多个域名 seo百度百家官网入口
  • 做服务器的网站都有哪些关键词调词平台费用
  • 网站搭建吧怎样在百度上宣传自己的产品
  • seo网站系统牛奶软文广告营销
  • 宝鸡市城乡建设委员会网站职业培训机构有哪些
  • 韶关公司做网站无排名优化
  • 协会网站建设的优势安徽seo
  • 赣州市赣县区建设局网站seo网站优化培训多少价格
  • 目前苏州疫情最新情况宝鸡百度seo
  • 公司网站一定要备案吗网络公司网络推广服务
  • 做装修网站全网推广软件
  • 网站建设与网页制作什么是网络营销策略
  • 昆明网站开发培训机构免费推广神器
  • 微信网站开发上海公司排名
  • javaweb网站开发小项目优化教程网下载
  • 如何做自己的广告网站友链交换不限内容
  • 抖音代运营联系方式杭州seo联盟
  • wordpress建手机站教程互联网公司网站模板
  • ssr网站开发红河网站建设
  • 福田的网站建设公司免费的个人网站怎么做
  • 学科网站建设方案网络推广网上营销
  • 山东省两学一做网站杭州网站建设 seo
  • root.txt文件放到您网站的根目录下市场营销四大分析方法
  • 新手学网页设计的网站seo的全称是什么
  • 网站怎么做链接跳转域名注册 万网
  • 网购网站有哪些seo外链招聘
  • 教育培训机构怎么建设网站近几天的新闻摘抄
  • 淘宝代运营是什么意思百度关键词优化多少钱一年
  • 网站推荐你了解我意思吧如何做关键词优化
  • 公司网站建设行业怎么样优化的含义