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

微博网站开发推广关键词排名查询

微博网站开发,推广关键词排名查询,温州网站建设推广,网上效果代码网站可以下载吗2022 ICPC 济南 E. Identical Parity (扩欧) Problem - E - Codeforces 大意:给出一个 n 和一个 k , 问是否能构造一个长 n 的排列使得所有长 k 的连续子序列和的奇偶性相同。 思路:通过分析可知 , 任两个间隔 k - 1 的元素奇偶…

2022 ICPC 济南 E. Identical Parity (扩欧)

Problem - E - Codeforces

大意:给出一个 n 和一个 k , 问是否能构造一个长 n 的排列使得所有长 k 的连续子序列和的奇偶性相同。

思路:通过分析可知 , 任两个间隔 k - 1 的元素奇偶性必然相同 , 这样的话 , 问题就转化成了

( n % k )个( ⌊ n k ⌋ + 1 )和( k − n % k )个( ⌊ n k ⌋ )是否能组成( ⌊ n 2 ⌋ )和( n − ⌊ n 2 ⌋ )的问题 (n ~\% ~k ~)个(\left \lfloor \frac{n}{k} \right \rfloor +1)和(k-n~\%~k)个(\left \lfloor \frac{n}{k} \right \rfloor)是否能组成(\left \lfloor \frac{n}{2} \right \rfloor)和(n - \left \lfloor \frac{n}{2} \right \rfloor)的问题 n % k )个(kn+1)和(kn % k)个(kn)是否能组成(2n)和(n2n)的问题

很自然的就可以想到 01 背包去解决这个问题 , 但是显然 n 和 k 的范围太大了 , 无法使用 01 背包去解决这个问题。 于是转化问题 , 考虑现有范围的 x 和 y 是否能满足以下式子。

( ⌊ n k ⌋ + 1 ) ∗ x + ( ⌊ n k ⌋ ) ∗ y = ( ⌊ n 2 ⌋ ) (\left \lfloor \frac{n}{k} \right \rfloor +1)*x~+~(\left \lfloor \frac{n}{k} \right \rfloor)*y = (\left \lfloor \frac{n}{2} \right \rfloor) kn+1x + kny=2n

带入扩欧得到通解:

x = x 0 ∗ c g c d ( a , b ) + k ∗ b g c d ( a , b ) x=x_0*{c\over gcd(a,b)}+{k*b\over gcd(a,b)} x=x0gcd(a,b)c+gcd(a,b)kb

y = y 0 ∗ c g c d ( a , b ) − k ∗ a g c d ( a , b ) y=y_0*{c\over gcd(a,b)}-{k*a\over gcd(a,b)} y=y0gcd(a,b)cgcd(a,b)ka

根据已有的 x 的范围 和 y 的范围分别求出两个 k 的范围 , 判断这两个区间是否相交即可。

易错点:是否可以通过 x 的范围求出对应 k 的范围然后带入求 y 的范围 ?显然是可以的 , 但是这样求出的 y 的范围区间是不连续的 , 也就不能判交。

#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define IOS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
#define int long long
const int N = 2e6 + 10;
const int mod = 1e9 + 7;
typedef pair<int,int>PII;int n , t , k;int exgcd(int a , int b , int &x , int &y){if(b == 0){ x = 1; y = 0; return a;}int g = exgcd(b , a % b , y , x);y -= a / b * x;return g;
}signed main(){IOScin >> t;while(t --){cin >> n >> k;if(n % k == 0){int num = n / k , od , ev;ev = n / 2;od = n - ev;if(ev % num == 0 && od % num == 0){cout << "Yes" << "\n";}else{cout << "No" << "\n";}}else{int a = n / k , b = n / k + 1 , c = n / 2;int cntb = n % k , cnta = k - n % k;int x , y , gcds;gcds = exgcd(a , b , x , y);a /= gcds;b /= gcds;c /= gcds;int k1_max = floor((double)(cnta - x * c) / (double) b);int k1_min = ceil((double)(0 - x * c) / (double) b);int k2_max = floor((double)(y * c) / (double) a);int k2_min = ceil((double)(y * c - cntb) / (double) a);  if(k1_min > k1_max || k2_min > k2_max){cout << "No\n";}else{if(min(k2_max , k1_max) >= max(k1_min , k2_min)){cout << "Yes\n";}else{cout << "No\n";}}}}return 0;
}
//freopen("文件名.in","r",stdin);
//freopen("文件名.out","w",stdout);
http://www.yidumall.com/news/108649.html

相关文章:

  • 网站建设接活seo外链建设的方法
  • 无锡网站制作网站建设百度小说风云榜排行榜官网
  • 合肥婚恋网站建设医院营销策略的具体方法
  • 专门做汽车配件的外贸网站怎么制作一个网站首页
  • 营销类网站设计 要点营销渠道的概念
  • 广州番禺网站建设google商店
  • 域名购买 万网seo标题生成器
  • 保定网站制作价格中国网民博客 seo
  • 阳春房产网河北seo关键词排名优化
  • 政府网站集约化建设意义中央电视台一套广告价目表
  • 有动效得网站百度知道灰色词代发收录
  • 提供网站建设哪家好最全的搜索引擎
  • 海拉尔做网站企业网站优化的三层含义
  • 做微课的网站有哪些方面他达拉非的副作用和危害
  • 网站开发一键上架淘宝网络营销公司有哪些公司
  • 黄骅市怎么读seo网站推广的主要目的
  • ps怎么做网站模板本周新闻热点10条
  • 课题网站建设验收总结报告搜索引擎付费推广
  • 网站在阿里云备案流程网站排名查询alexa
  • 做网站专用图标流程优化
  • 上海网站建设上海网站制作河南郑州最新消息今天
  • 阿里云wordpress数据库备份百度seo优化系统
  • 简易的网站制作软文营销的特点有哪些
  • 网站建设做的人多吗推广方案的内容有哪些
  • 手机网站怎么做微信登陆百度搜索高级搜索
  • 做一元夺宝网站需要什么条件bt磁力天堂torrentkitty
  • 做网站比较专业的公司网站怎么让百度收录
  • 缩短网址做钓鱼网站seo相关ppt
  • 网站seo怎么做知乎seo是什么意思知乎
  • 做淘宝网站java代码吗优化网站标题是什么意思