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

做网站公司需要帮客户承担广告法吗规范网站建设

做网站公司需要帮客户承担广告法吗,规范网站建设,外贸怎么做公司网站,wordpress底部传送门:CF 前提提要:无 A题:A. Maximum Square 刚开始的第一个想法是排序然后二分答案.但是一看范围才1000,果断直接使用暴力枚举. 考虑枚举最终的答案,然后记录有多少个 a i ai ai大于此值,然后判断能否构成一个正方形即可. #include bits/stdc.h using namespace…传送门:CF 前提提要:无 A题:A. Maximum Square 刚开始的第一个想法是排序然后二分答案.但是一看范围才1000,果断直接使用暴力枚举. 考虑枚举最终的答案,然后记录有多少个 a i ai ai大于此值,然后判断能否构成一个正方形即可. #include bits/stdc.h using namespace std; typedef long long ll; #define root 1,n,1 #define ls rt1 #define rs rt1|1 #define lson l,mid,rt1 #define rson mid1,r,rt1|1 inline ll read() {ll x0,w1;char chgetchar();for(;ch9||ch0;chgetchar()) if(ch-) w-1;for(;ch0ch9;chgetchar()) xx*10ch-0;return x*w; } #define maxn 1000000 const double eps1e-8; #define int_INF 0x3f3f3f3f #define ll_INF 0x3f3f3f3f3f3f3f3f int a[maxn]; int main() {int Tread();while(T--) {int nread();for(int i1;in;i) {a[i]read();}for(int in;i1;i--) {int cnt0;for(int j1;jn;j) {if(a[j]i) cnt;}if(cnti) {coutiendl;break;}}}return 0; }B1题:B1. Character Swap (Easy Version) 发现仅且必须调换一次.所以当我们的两个字符串有大于2的位置的字符不一样时,我们无论如何都是无法用一次花费使他们相同的.所以此时的答案就是NO.当然当我们只有一个位置的字符不一样时同样是NO.当然当我们没有位置不一样的时候肯定是YES. 然后我们考虑恰好有两个位置不一样的情况.我们此时进行的操作显然是将 a [ p o s 1 ] a[pos1] a[pos1]与 b [ p o s 2 ] b[pos2] b[pos2]进行调换(或者 a [ p o s 2 ] a[pos2] a[pos2]与 b [ p o s 1 ] b[pos1] b[pos1]进行调换).所以此时我们就需要 a [ p o s 1 ] a[pos1] a[pos1]与 a [ p o s 2 ] a[pos2] a[pos2]相同,并且 b [ p o s 1 ] b[pos1] b[pos1]与 b [ p o s 2 ] b[pos2] b[pos2]相同. 给出的代码有部分实现不是很严谨,利用了某些特性,但是我懒得修改了(逃 #include bits/stdc.h using namespace std; typedef long long ll; #define root 1,n,1 #define ls rt1 #define rs rt1|1 #define lson l,mid,rt1 #define rson mid1,r,rt1|1 inline ll read() {ll x0,w1;char chgetchar();for(;ch9||ch0;chgetchar()) if(ch-) w-1;for(;ch0ch9;chgetchar()) xx*10ch-0;return x*w; } #define maxn 1000000 const double eps1e-8; #define int_INF 0x3f3f3f3f #define ll_INF 0x3f3f3f3f3f3f3f3f int main() {int Tread();while(T--) {int nread();string s,t;cinst;int cnt0;for(int i0;is.length();i) {cnts[i]!t[i]?1:0;}if(cnt2) {coutNoendl;continue;}vectorchara,b;for(int i0;is.length();i) {if(s[i]!t[i]) {a.push_back(s[i]);b.push_back(t[i]);}}if(a[0]a[1]b[1]b[0]) {coutYesendl;}else {coutNoendl;}}return 0; }B2题:B2. Character Swap (Hard Version) 简单思维题.本题的突破点应该是2*n.往这个靠思路很快就可以出来了. 考虑逐位枚举 s s s字符串的每一位,然后使用操作使 t t t字符串的每一位和 s s s一样. 其实我们可以发现一个小性质.就是我们如果想将 t [ p o s ] t[pos] t[pos]的字符换到 t [ i ] t[i] t[i]位置时,我们只需要两步就可以了.先进行pos,pos,然后pos,i.然后假如我们想将 s [ p o s ] s[pos] s[pos]换到 t [ i ] t[i] t[i]的位置,只需要进行一步.pos,i. 使用这个性质这道题就不难解决了.因为两个字符串最终是相同的.也就是每一个字符都平均的分配到两个字符串中.此时我们可以先来解决NO的情况.显然当有一个字符的数量是奇数的时候我们就不能进行分配了,此时的情况就是NO.其他的情况都是YES. 因为当我们使用上述的性质时,对于每一位的最大花费也就是2,最终必然是小于2*n,也就是说只要我们能使他们相同,我们就能在2*n的步骤内使他们相同 然后考虑当 s [ i ] ! t [ i ] s[i]!t[i] s[i]!t[i]的情况,我们先来计算一下s里面有多少个 s [ i ] s[i] s[i],假设我们此时的个数大于总数的一半时,此时我们应该将s里面的字符串换到t里面.使用之前所说的第二个操作即可. 当我们此时的个数小于总数的一半时,此时我们应该将t里面的字符串换到s里面,使用第一个操作即可. #include bits/stdc.h using namespace std; typedef long long ll; #define root 1,n,1 #define ls rt1 #define rs rt1|1 #define lson l,mid,rt1 #define rson mid1,r,rt1|1 inline ll read() {ll x0,w1;char chgetchar();for(;ch9||ch0;chgetchar()) if(ch-) w-1;for(;ch0ch9;chgetchar()) xx*10ch-0;return x*w; } #define maxn 1000000 const double eps1e-8; #define int_INF 0x3f3f3f3f #define ll_INF 0x3f3f3f3f3f3f3f3f int main() {int Tread();while(T--) {int nread();string s,t;cinst;int ans0;mapint,intmp;for(int i0;is.length();i) {mp[s[i]-a];mp[t[i]-a];}int flag0;for(auto it : mp) {if(it.second1) {flag1;break;}}if(flag) {coutNoendl;continue;}vectorpairint,int v;for(int i0;is.length();i) {if(s[i]!t[i]) {mapint,intmp1;int pos;for(int ji;js.length();j) {mp1[s[j]-a];if(s[j]s[i]ji) {posj;}}if(mp1[s[i]-a]*2mp[s[i]-a]) {v.push_back({pos,i});ans;swap(s[pos],t[i]);}else {int pos;for(int ji1;jt.length();j) {if(t[j]s[i]) {posj;break;}}v.push_back({pos,pos});swap(s[pos],t[pos]);ans;v.push_back({pos,i});swap(s[pos],t[i]);ans;}}mp[s[i]-a]-2;}coutYesendl;coutansendl;for(int i0;iv.size();i) {coutv[i].first1 v[i].second1endl;}}return 0; }C题:C. Tile Painting 简单数论题.读完题意之后不难发现应该往质因数那边靠. 因为当有一个 k ∣ a k|a k∣a时,此时我们可以使用步长为 k k k来实现步长为 a a a的情况,所以只要考虑质因数的情况即可. 那么首先当我们此时的数只有一个质因数的时候,随便推一下就是发现答案应该是这个质因数-1 然后考虑不止一个质因数的时候,其实简单手模一下就会发现此时我们的答案无论如何都是1.诶这是怎么回事呢.下面简单来证明一下这个结论. 假设此时我们有两个质因数,不妨记为 a , b a,b a,b.然后我们此时有 g c d ( a , b ) 1 gcd(a,b)1 gcd(a,b)1.然后根据裴蜀定理,我们此时必然存在整数 x , y x,y x,y满足 a x b y 1 axby1 axby1,然后我们就必然会有 k x , k y kx,ky kx,ky满足 a ∗ k x b ∗ k y k a*kxb*kyk a∗kxb∗kyk,也就是说,我们可以从1这个点达到任何一个其他点!!. 证毕 需要注意的是1要特判且需要开longlong #include bits/stdc.h using namespace std; typedef long long ll; #define root 1,n,1 #define ls rt1 #define rs rt1|1 #define lson l,mid,rt1 #define rson mid1,r,rt1|1 inline ll read() {ll x0,w1;char chgetchar();for(;ch9||ch0;chgetchar()) if(ch-) w-1;for(;ch0ch9;chgetchar()) xx*10ch-0;return x*w; } #define maxn 1000000 #define int long long const double eps1e-8; #define int_INF 0x3f3f3f3f #define ll_INF 0x3f3f3f3f3f3f3f3f signed main() {int nread();int tempn;mapint,intmp;if(n1) {cout1endl;return 0;}for(int j2;j__builtin_sqrt(n);j) {while(temp%j0) {mp[j];temp/j;}} if(temp!1) mp[temp];if(mp.size()1) cout(*mp.begin()).firstendl;else cout1endl;return 0; }D题:D. 0-1 MST 一道比较难的图论题? 首先我们应该有一个比较自然的想法就是: 1.先首先选一个点,作为初始点u 2.然后在所有的没有被加入到联通块中的v中找出长度为0的u,v 3.贪心的去想,这个0边显然是需要被加入的,直接加入0边 4.目前已经加入了所有到当前联通块的0边,此时没有0边可以加了,必须要加1边,那就随便取一个1边连到当前的联通块(注:此时的联通块指正在扩展的最小生成树).因为当前联通块新增了一个点,所以又可能有0边存在,所以继续找0边. 显然这个想法的关键点是如何快速的找到0边所对应的v.直接枚举显然是不可行的.这样复杂度将会爆炸.此时就有一个比较巧妙的解决方案,考虑对u的所有1边所对应的v的权值1.然后使用线段树来维护所有点的权值最小值以及最小值所在的位置.然后我们每一次都取出权值最小的vm.显然这个vm是最有可能与联通块有0边的v.假设此时我们的联通块中的点的个数是 i i i.那么此时的vm的权值只要比i要小,此时必然就与联通块有0边存在(因为假设没有0边存在,意味着之前的所有点都与v有连边,也就是每一个点都会给v加一权值),反之则无.如果只有1边的话就将花费1.然后再将vm作为u继续扩展.还需要注意的一个小细节就是已经加入联通块中的点显然不需要继续扩展了,所以我们可以将其的权值赋为inf #include bits/stdc.h using namespace std; typedef long long ll; #define root 1,n,1 #define ls rt1 #define rs rt1|1 #define lson l,mid,rt1 #define rson mid1,r,rt1|1 inline ll read() {ll x0,w1;char chgetchar();for(;ch9||ch0;chgetchar()) if(ch-) w-1;for(;ch0ch9;chgetchar()) xx*10ch-0;return x*w; } #define maxn 1000000 const double eps1e-8; #define int_INF 0x3f3f3f3f #define ll_INF 0x3f3f3f3f3f3f3f3f int n,m; vectorintedge[maxn]; struct Segment_tree{int l,r,mn,mnpos; }tree[maxn]; void pushup(int rt) {tree[rt].mnmin(tree[ls].mn,tree[rs].mn);if(tree[rt].mntree[ls].mn) tree[rt].mnpostree[ls].mnpos;else tree[rt].mnpostree[rs].mnpos; } void build(int l,int r,int rt) {tree[rt].ll;tree[rt].rr;if(lr) {tree[rt].mn0;tree[rt].mnposl;return ;}int mid(lr)1;build(lson);build(rson);pushup(rt); } void update(int pos,int rt,int val) {if(tree[rt].lpostree[rt].rpos) {tree[rt].mnval;return ;}int mid(tree[rt].ltree[rt].r)1;if(posmid) update(pos,ls,val);else update(pos,rs,val);pushup(rt); } int main() {nread();mread();for(int i1;im;i) {int uread(),vread();edge[u].push_back(v);edge[v].push_back(u);}build(root);int ans0;update(1,1,1e9);for(int j0;jedge[1].size();j) {int vedge[1][j];update(v,1,1);}for(int i2;in;i) {int utree[1].mnpos;if(tree[1].mni-1) ans;update(u,1,1e9);for(int j0;jedge[u].size();j) {int vedge[u][j];update(v,1,1);}}coutansendl;return 0; }
http://www.ho-use.cn/article/10814052.html

相关文章:

  • 宁乡网站开发公司推荐360网站卫士代备案流程
  • 烟台网站建设 烟台网亿网络品牌建设找晓哥
  • 仿唧唧帝笑话门户网站源码带多条采集规则 织梦搞笑图片视频模板wordpress服务器如何使用
  • 网站设计有哪些福建建设厅官网
  • 金融网站开发公司制作网页软件免费
  • 自己做网站和推广wordpress自动分类插件
  • 网站建设与域名备案wordpress你好多莉
  • 建设进出口外贸网站网站建设外包被骗
  • 菏泽 兼职做网站非寻服饰网站建设规划书
  • 个人网站建设网站排名优化便宜的海外服务器
  • 2003 iis网站发布网站电子商务网站策划书3500字
  • 国际网站如何做seo保定seo网站排名
  • 图展网站源码什么是小手机型网站
  • 图书建设网站中国石化工程建设有限公司邮政编码
  • 长沙网络营销推广移动端排名优化软件
  • dell网站的设计特色学软件工程可以从事什么工作
  • 大气家具行业商城类公司网站织梦模板wordpress图片间隙
  • 苏州网站设计都选苏州聚尚网络wordpress菜单栏图标
  • 临沂个人做网站河源市住宅和城乡规划建设局网站
  • 东莞网站开发推荐青岛昌隆文具网站是哪家公司做的
  • 海门网站开发网站系统定制
  • c 开发微网站开发网站后台添加
  • 网站建设实习收获东莞企业网站设计
  • 宁波建站平台小程序怎么开通
  • 辽宁移动网站制作一个官网
  • 长宁区网站建设网页制安徽省建设工程信息网安徽省政务
  • 海报素材库网站免费余姚建站公司
  • 正规手机网站建设平台仿织梦长沙网站公司
  • 网站开发使用语言网站制作员
  • 专业网站制作仪表多少钱如何连接到网站服务器