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

鞍山网站建设营销百度糯米网站怎么做

鞍山网站建设营销,百度糯米网站怎么做,娄底建设公司网站,创建空白网站登录—专业IT笔试面试备考平台_牛客网 题目大意#xff1a;有一长度为n的数组a#xff0c;有q次询问#xff0c;每次要求将[l,r]的区间分成k个连续区间#xff0c;满足每个区间和都是偶数#xff0c;能满足要求就输出YES 1n,q1e5;0ai1e10;1lr有一长度为n的数组a有q次询问每次要求将[l,r]的区间分成k个连续区间满足每个区间和都是偶数能满足要求就输出YES 1n,q1e5;0ai1e10;1lrn;1k1e5 思路要想和为偶数那么奇数的数量必须是偶数个所以我们把数组中的数都变成%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]不等的那个数组提供贡献 #includebits/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 fi0;for (int i 1; i n; i){if (!a[i]){if(!fi)//在遇到第一个1之前不记录贡献continue;if (!flag)sum3[i] 1;}else{if(!fi){fii;//遇到第一个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哪个数组rr-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://www.dnsts.com.cn/news/208488.html

相关文章:

  • 公司网站开发立项文档龙岩做网站设计公司
  • 广州南沙建设交通网站自己设计logo的网站
  • 建应用网站做毕业网站的周记
  • 最好网页游戏网站网站关键词seo优化公司
  • 六安企业网站seo多少钱如何添加网站板块
  • wordpress网站模版500个企点qq大概多少钱
  • 英文网站seo推广宁波做网站设计
  • 网站建设建设公司有哪些上海建筑设计研究院
  • 比较好的网站开发项目哪种语言的网站 做seo更好
  • 网站备案查询app下载wordpress微博头条高级写入
  • 网站建设确认单本地一键搭建wordpress
  • 莞城网站仿做建立平台网站要多久
  • 做一个专业的网站多少钱网站活泼
  • 兰州网站建设设计杭州做网站的集团
  • 国家建设公债拍卖网站群晖非插件搭建wordpress
  • 移动端网站模板怎么做的沈阳有什么网站
  • 网站建设需求分析山西省城乡建设厅网站
  • 做app做网站从何学起网站做端口是什么问题
  • 做古风人物小图的网站或软件个人网页设计论文免费
  • 厦门网站设计建设项链seo关键词
  • id创建网站如何推广一个平台
  • 一个网站绑定两个域名找手工活做注册网站
  • 北京网站建设服务公司怎样 管理网站
  • 唐山的做网站的企业网站群建设厂家
  • 太仓建设工程网站本机号码一键登录
  • 网站建设结项报告网站的建设目标是什么
  • 用服务器建立网站吗凡科网站怎么做
  • 在线借贷网站建设网站开发的背景是指什么
  • 免费网站怎么赚钱wordpress翻译文件
  • 佛山网站建设咨询wordpress主题里加广告