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

购物网站 app百度关键词排名点击器

购物网站 app,百度关键词排名点击器,山东建设住建厅网站,做pc端网站策划B题 题意#xff1a;定义一个牛逼的数是这个数十进制中至少包含一个数d。 现在给定d和若干询问#xff0c;每个询问一个x#xff0c;问x能否分解成若干d构成的牛逼的数之和。 看起来挺难搞的#xff0c;不能快速的判断是否是牛逼的数而且也不能很好的挑选合适的数组成x。那…B题 题意定义一个牛逼的数是这个数十进制中至少包含一个数d。 现在给定d和若干询问每个询问一个x问x能否分解成若干d构成的牛逼的数之和。 看起来挺难搞的不能快速的判断是否是牛逼的数而且也不能很好的挑选合适的数组成x。那么我们不妨就把这个数拆成 a%d a/d*d 这样只需要判断a%d变成牛逼数加的d的最少数量让后跟a/d比较一下大小就可以了。这个东西是可以预处理出来的具体可以看代码。 //#pragma GCC optimize(2) #includecstdio #includeiostream #includestring #includecstring #includemap #includecmath #includecctype #includevector #includeset #includequeue #includealgorithm #includesstream #includectime #includecstdlib #define X first #define Y second #define L (u1) #define R (u1|1) #define pb push_back #define mk make_pair #define Mid (tr[u].ltr[u].r1) #define Len(u) (tr[u].r-tr[u].l1) #define random(a,b) ((a)rand()%((b)-(a)1)) #define db puts(---) using namespace std;//void rd_cre() { freopen(d://dp//data.txt,w,stdout); srand(time(NULL)); } //void rd_ac() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//AC.txt,w,stdout); } //void rd_wa() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//WA.txt,w,stdout); }typedef long long LL; typedef unsigned long long ULL; typedef pairint,int PII;const int N1000010,mod1e97,INF0x3f3f3f3f; const double eps1e-6;int n; int f[20][20];bool check(int x,int d) {while(x){if(x%10d) return true;x/10;}return false; }void init() {for(int i1;i9;i){for(int j1;j9;j){int sumi,cnt0;while(!check(sum,j)) sumj,cnt;f[i][j]cnt;}} }int main() { // ios::sync_with_stdio(false); // cin.tie(0);init();int _; cin_;while(_--){int q,d; scanf(%d%d,q,d);while(q--){int x; scanf(%d,x);int ax%d,bx/d;if(f[a][d]b) puts(YES);else puts(NO);}}return 0; } /**/ C题 题意 数组a是一个特定的数组对于每个数 a 都有一个相反数 - a 。让后定义 d 为上面的式子我们发现对于每个数他的相反数和这个数的 d 是相同的所以我们只需要先排序检查一下是否符合让后处理正数即可。化简式子可得 让后 an 可以直接算出来依次递推 a ( n - 1 ) 让后检查是否符合即可。 //#pragma GCC optimize(2) #includecstdio #includeiostream #includestring #includecstring #includemap #includecmath #includecctype #includevector #includeset #includequeue #includealgorithm #includesstream #includectime #includecstdlib #define X first #define Y second #define L (u1) #define R (u1|1) #define pb push_back #define mk make_pair #define Mid (tr[u].ltr[u].r1) #define Len(u) (tr[u].r-tr[u].l1) #define random(a,b) ((a)rand()%((b)-(a)1)) #define db puts(---) using namespace std;//void rd_cre() { freopen(d://dp//data.txt,w,stdout); srand(time(NULL)); } //void rd_ac() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//AC.txt,w,stdout); } //void rd_wa() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//WA.txt,w,stdout); }typedef long long LL; typedef unsigned long long ULL; typedef pairint,int PII;const int N1000010,mod1e97,INF0x3f3f3f3f; const double eps1e-6;int n; LL a[N],d[N];bool check() {for(int i1;in*2;i2) if(d[i]!d[i1]) return false;if(d[n*2]%(n*2)!0) return false;a[n]d[n*2]/(n*2);for(int in-1;i1;i--){LL xd[i*21],yd[i*2];if((x-y)%(2*i)!0) return false;a[i]a[i1]-(x-y)/(2*i);if(a[i]a[i1]||a[i]0) return false;}return true; }int main() { // ios::sync_with_stdio(false); // cin.tie(0);int _; scanf(%d,_);while(_--){scanf(%d,n);for(int i1;in*2;i) scanf(%lld,d[i]);sort(d1,d1n*2);if(!check()) puts(NO);else puts(YES);}return 0; } /**/ D. 题意 给定一个数组可以做无数次操作每次操作任选两个数 x 和 y让后在后面添加 2 * x - y。问能否得到k。 我们把 2 * x - y 拆成 x ( x - y ) 这样就相当于在一个数后面加上这个数与任意数的差。既然这样我们可以思考能否通过一个选定的数让后加上这个数与其他数的差来得到 k 呢所以我们多写几组就可以发现每个数都可以写成 ah∑i,j(ai−aj)a_h \sum_{i,j} (a_i-a_j) ah​i,j∑​(ai​−aj​) 其中 i j 是任选的两个数。那么我们的 k 也是可以写成这种形式的换句话说就是ah∑i,j(ai−aj)ka_h \sum_{i,j} (a_i-a_j) kah​i,j∑​(ai​−aj​)k 我们需要移一下项∑i,j(ai−aj)k−ah\sum_{i,j} (a_i-a_j) k - a_hi,j∑​(ai​−aj​)k−ah​ 现在我们考虑如何确定 h i j 呢我们可以发现对于每一个数我们都可以通过两次操作变成另一个。比如我们现在有 ana_nan​让后我们需要得到a1a_1a1​。我们只需要先得到an(an−a1)a_n(a_n-a_1)an​(an​−a1​)让后an(an−(an(an−a1)))a_n(a_n-(a_n(a_n-a_1)))an​(an​−(an​(an​−a1​)))即可得到a1a_1a1​。所以我们可以把 aja_jaj​ 和 aha_hah​ 统一成 a1a_1a1​ 让后就得到如下式子∑i,1(ai−a1)k−a1\sum_{i,1} (a_i-a_1) k - a_1i,1∑​(ai​−a1​)k−a1​让后显然有解的条件是(k−a1)modgcd⁡(ai,a1)0(k-a_1) \bmod \gcd(a_i,a_1) 0(k−a1​)modgcd(ai​,a1​)0让后一层循环跑一遍就可以啦。 //#pragma GCC optimize(2) #includecstdio #includeiostream #includestring #includecstring #includemap #includecmath #includecctype #includevector #includeset #includequeue #includealgorithm #includesstream #includectime #includecstdlib #define X first #define Y second #define L (u1) #define R (u1|1) #define pb push_back #define mk make_pair #define Mid (tr[u].ltr[u].r1) #define Len(u) (tr[u].r-tr[u].l1) #define random(a,b) ((a)rand()%((b)-(a)1)) #define db puts(---) using namespace std;//void rd_cre() { freopen(d://dp//data.txt,w,stdout); srand(time(NULL)); } //void rd_ac() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//AC.txt,w,stdout); } //void rd_wa() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//WA.txt,w,stdout); }typedef long long LL; typedef unsigned long long ULL; typedef pairint,int PII;const int N1000010,mod1e97,INF0x3f3f3f3f; const double eps1e-6;int n; int a[N];int main() { // ios::sync_with_stdio(false); // cin.tie(0);int _; scanf(%d,_);while(_--){LL k; scanf(%d%lld,n,k);LL gd0,first-1000000000000000001;for(int i1;in;i){LL x; scanf(%lld,x);if(first-1000000000000000001) firstx;else gd__gcd(gd,x-first);}if((k-first)%gd0) puts(YES);else puts(NO);}return 0; } /**/ E. 题意给定两个串 a b让后有q个操作每个操作对应一个区间让后你首先需要检查这个区间是否全为0或1如果不是就退出。否则你可以选择修改严格小于 长度 / 2 个数。问最终能否使 a 变成 b 。 正着来很难想因为每次都需要先看是否全为0或者1让后修改而且修改还需要顾及下面的操作能否满足全为0或1所以我们考虑全部反着来。反着来也就是由b到a每次先修改严格小于 长度 / 2 个数让后使其全为0或1。这样就很简单了每次只需要修改数量少的哪个就可以了需要特判一下两者相等的情况这样的话不能修改直接输出No即可。最后检查一下是否变成了a就行啦。 对于两个操作直接用线段树维护就好啦线段树的基本操作了。 //#pragma GCC optimize(2) #includecstdio #includeiostream #includestring #includecstring #includemap #includecmath #includecctype #includevector #includeset #includequeue #includealgorithm #includesstream #includectime #includecstdlib #define X first #define Y second #define L (u1) #define R (u1|1) #define pb push_back #define mk make_pair #define Mid (tr[u].ltr[u].r1) #define Len(u) (tr[u].r-tr[u].l1) #define random(a,b) ((a)rand()%((b)-(a)1)) #define db puts(---) using namespace std;//void rd_cre() { freopen(d://dp//data.txt,w,stdout); srand(time(NULL)); } //void rd_ac() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//AC.txt,w,stdout); } //void rd_wa() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//WA.txt,w,stdout); }typedef long long LL; typedef unsigned long long ULL; typedef pairint,int PII;const int N200010,mod1e97,INF0x3f3f3f3f; const double eps1e-6;int n,m; char st[N],ed[N]; PII q[N]; struct Node {int l,r;int sum,lazy; }tr[N2];void pushup(int u) {tr[u].sumtr[L].sumtr[R].sum; }void pushdown(int u) {if(tr[u].lazy-1) return;tr[L].lazytr[u].lazy;tr[R].lazytr[u].lazy;tr[L].sumLen(L)*tr[u].lazy;tr[R].sumLen(R)*tr[u].lazy;tr[u].lazy-1; }void build(int u,int l,int r) {tr[u]{l,r,0,-1};if(lr) { tr[u].sumed[l]-0; return; }build(L,l,Mid); build(R,Mid1,r);pushup(u); }void modify(int u,int l,int r,int c) {if(tr[u].lltr[u].rr){tr[u].sumLen(u)*c;tr[u].lazyc;return;}pushdown(u);if(lMid) modify(L,l,r,c);if(rMid) modify(R,l,r,c);pushup(u); }int query(int u,int l,int r) {if(tr[u].lltr[u].rr) return tr[u].sum;pushdown(u);int ans0;if(lMid) ansquery(L,l,r);if(rMid) ansquery(R,l,r);return ans; }bool check() {for(int im;i1;i--){int lq[i].X,rq[i].Y;int sumquery(1,l,r),lenr-l1;if(len%20sum*2len) return false;if(len-sumsum) modify(1,l,r,0);else modify(1,l,r,1);}for(int i1;in;i) if(query(1,i,i)!st[i]-0) return false;return true; }int main() { // ios::sync_with_stdio(false); // cin.tie(0);int _; scanf(%d,_);while(_--){scanf(%d%d,n,m);scanf(%s%s,st1,ed1);build(1,1,n);for(int i1;im;i) scanf(%d%d,q[i].X,q[i].Y);if(check()) puts(YES);else puts(NO);}return 0; } /**/ F. 题意给n个点让你求这n个点一个排列使得相邻的三个之间构成的角为锐角。 我们可以发现当是钝角的时候钝角对的边一定是最大的。那么我们可以考虑一个贪心策略我们每次都找距离当前点最远的点让后把他们俩连起来的边当坐角边而非对角边。 下面证明一下 假设当前有三个点 A B C 目前知道距离A最远的点为B距离B最远的点为C可以得知ACAB所以ABC构成的三角形中最长边为角边所以∠ABC一定不是钝角。 让后直接瞎搞搞就可以啦。 为了避免精度问题所以距离最好不开方。 //#pragma GCC optimize(2) #includecstdio #includeiostream #includestring #includecstring #includemap #includecmath #includecctype #includevector #includeset #includequeue #includealgorithm #includesstream #includectime #includecstdlib #define X first #define Y second #define L (u1) #define R (u1|1) #define pb push_back #define mk make_pair #define Mid (tr[u].ltr[u].r1) #define Len(u) (tr[u].r-tr[u].l1) #define random(a,b) ((a)rand()%((b)-(a)1)) #define db puts(---) using namespace std;//void rd_cre() { freopen(d://dp//data.txt,w,stdout); srand(time(NULL)); } //void rd_ac() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//AC.txt,w,stdout); } //void rd_wa() { freopen(d://dp//data.txt,r,stdin); freopen(d://dp//WA.txt,w,stdout); }typedef long long LL; typedef unsigned long long ULL; typedef pairLL,LL PII;const int N1000010,mod1e97,INF0x3f3f3f3f; const double eps1e-6;int n; int ans[N],st[N]; PII p[N];LL get(int i,int j) {LL dxp[i].X-p[j].X;LL dyp[i].Y-p[j].Y;return dx*dxdy*dy; }int main() { // ios::sync_with_stdio(false); // cin.tie(0);scanf(%d,n);for(int i1;in;i) scanf(%lld%lld,p[i].X,p[i].Y);ans[1]1,st[1]1;for(int i1;in-1;i){LL mx0,id-1;for(int j1;jn;j) if(!st[j]get(ans[i],j)mx) mxget(ans[i],j),idj;ans[i1]id; st[id]1;}for(int i1;in;i) printf(%d ,ans[i]);puts();return 0; } /**/
http://www.zqtcl.cn/news/364748/

相关文章:

  • 河南建设监理协会网站电话erp管理系统官网
  • 视频网站seo实战做企业网站一般用什么服务器
  • icp备案 网站负责人免费直播sdk
  • 网站制作和如何推广动画专业学什么
  • 北京一家专门做会所的网站基于ssh框架的网站开发流程
  • 可以在自己的电脑上做网站吗陕西商城网站建设
  • 深圳网站建设工作室郴州有什么好玩的地方
  • 用dw做的网站怎么发到网上竹妃怎么在公众号里做网站
  • 杭州网站优化搜索黑龙江公共资源交易网官网
  • 动易网站 首页模板修改平台网站是什么
  • 营销网站更受用户欢迎的原因是英文网站的建设意义
  • 学网站建设基础河北省建设网站的网站首页
  • 铜仁市住房和城乡建设部网站延边有没有做网站的
  • 如何做ppt的模板下载网站移动端网站的优点
  • 网站域名没有实名认证微信平台开发技术
  • 自己用电脑做虚拟机怎么建网站个人网站 icp 代理
  • 嘉兴网站建设999 999中国建设招标网是私人网站吗
  • 网站程序设置主页面零基础学wordpress pdf下载
  • 网站代码优化有哪些专做立体化的网站
  • 单县网站定制培训机构专业
  • 网站防红链接怎么做网站建设中提示页面
  • 网站开发和游戏开发的区别互联网服务平台投诉
  • 杭州定制网站公司出名的设计网站
  • 网站查询访问注册电气工程师考试
  • 北京企业网站推广哪家公司好电商平台代运营
  • 北京快速建站模板信息管理系统网站开发
  • 做网站后台需要写代码吗做网站收多少钱
  • 企业手机网站建设咨询为企业设计一个网站
  • 做网站平台成本珠海自适应网站设计
  • 做网站手机端需要pc端的源代码吗经营网站需要注意什么