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

企业网站美工设计同城网

企业网站美工设计,同城网,做网站 钱,济南网站建设 首选搜点网络题意: 两个操作, 单点修改 询问一段区间是否能在至多一次修改后,使得区间$GCD$等于$X$ 题解: 正确思路; 线段树维护区间$GCD$,查询$GCD$的时候记录一共访问了多少个$GCD$不被X整除的区间即可,大于一个就NO 要注意的是,如果真的数完一整个区间,肯定会超时,因此用一个外部变量存储…题意: 两个操作, 单点修改 询问一段区间是否能在至多一次修改后,使得区间$GCD$等于$X$   题解: 正确思路; 线段树维护区间$GCD$,查询$GCD$的时候记录一共访问了多少个$GCD$不被X整除的区间即可,大于一个就NO 要注意的是,如果真的数完一整个区间,肯定会超时,因此用一个外部变量存储数量,一旦超过一个,就停止整个查询 #include bits/stdc.h #define endl \n #define ll long long #define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0) #define rep(ii,a,b) for(int iia;iib;ii) using namespace std; int casn,n,m,k; class segtree{ #define nd node[now] #define ndl node[now1] #define ndr node[now1|1]public:struct segnode {int l,r;ll gcd,mn;int mid(){return (rl)1;}int len(){return r-l1;}void update(int x){mngcdx;}};vectorsegnode node;int cnt;segtree(int n) {node.resize(n2|3);maketree(1,n);}void pushup(int now){nd.gcd__gcd(ndl.gcd,ndr.gcd);nd.mnmin(ndl.mn,ndr.mn);}void pushdown(int now){}void maketree(int s,int t,int now1){nd{s,t,0,0};if(st){ll x;cinx;nd.update(x);return ;}maketree(s,nd.mid(),now1);maketree(nd.mid()1,t,now1|1);pushup(now);}void update(int pos,ll x,int now1){if(posnd.r||posnd.l) return ;if(nd.len()1){nd.update(x);return ;}pushdown(now);update(pos,x,now1); update(pos,x,now1|1);pushup(now);}int query(int s,int t,ll x){cnt0;count(s,t,x);return cnt1;}void count(int s,int t,ll x,int now1){if(cnt1||snd.r||tnd.l||nd.gcd%x0) return ;if(nd.len()1) {cnt; return ;}count(s,t,x,now1);count(s,t,x,now1|1);} };int main() {IO;cinn;segtree tree(n);cinm;while(m--){ll a,b,c,d;cina;if(a1) {cinbcd;if(tree.query(b,c,d)) coutYESendl;else coutNOendl;}else {cinbc;tree.update(b,c);}}return 0; }错误思路(会WA8): 如果要修改一次使得$GCD$等于$X$,肯定是修改区间的最小值,线段树维护即可 错误原因在于,$GCD$大于$X$的时候,最小值可能是$X$的倍数,此时不应该修改最小值 #include bits/stdc.h #define endl \n #define ll long long #define ull unsigned long long #define fi first #define se second #define mp make_pair #define pii pairint,int #define all(x) x.begin(),x.end() #define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0) #define rep(ii,a,b) for(int iia;iib;ii) #define per(ii,a,b) for(int iib;iia;--ii) #define forn(ii,x) for(int iihead[x];ii;iie[ii].next) #pragma GCC optimize(Ofast) #pragma GCC optimize(unroll-loops) #define inline inline __attribute__( \ (always_inline, __gnu_inline__, __artificial__)) \ __attribute__((optimize(Ofast))) __attribute__((target(sse))) \ __attribute__((target(sse2))) __attribute__((target(mmx))) #define show(x) cout#xxendl #define show2(x,y) cout#xx #yyendl #define show3(x,y,z) cout#xx #yy #zzendl #define show4(w,x,y,z) cout#ww #xx #yy #zzendl #define show5(v,w,x,y,z) cout#v v #ww #xx #yy #zzendl #define showa(a,b) cout#a[b]a[b]endl using namespace std; const int maxn1e610,maxm2e610; const ll INF0x3f3f3f3f3f3f; const int mod1e97; const double PIacos(-1.0); //head int casn,n,m,k; int num[maxn]; class segtree{ #define nd node[now] #define ndl node[now1] #define ndr node[now1|1]public:struct segnode {int l,r;ll gcd,mn;int mid(){return (rl)1;}int len(){return r-l1;}void update(int x){mngcdx;}};vectorsegnode node;segtree(int n) {node.resize(n2|3);maketree(1,n);}void pushup(int now){nd.gcd__gcd(ndl.gcd,ndr.gcd);nd.mnmin(ndl.mn,ndr.mn);}void pushdown(int now){}void maketree(int s,int t,int now1){nd{s,t,0,0};if(st){ll x;cinx;nd.update(x);return ;}maketree(s,nd.mid(),now1);maketree(nd.mid()1,t,now1|1);pushup(now);}void update(int pos,ll x,int now1){if(posnd.r||posnd.l) return ;if(nd.len()1){nd.update(x);return ;}pushdown(now);update(pos,x,now1); update(pos,x,now1|1);pushup(now);}ll query_minid(int s,int t,int now1){if(nd.len()1) return s;if(ndl.mnndr.mn) return query_minid(s,t,now1);else return query_minid(s,t,now1|1);}ll query_min(int s,int t,int now1){if(snd.r||tnd.l) return INF;if(snd.lnd.rt) return nd.mn;return min(query_min(s,t,now1),query_min(s,t,now1|1));}ll query_gcd(int s,int t,int now1){if(snd.r||tnd.l) return 0;if(snd.ltnd.r)return nd.gcd;return __gcd(query_gcd(s,t,now1),query_gcd(s,t,now1|1));} };int main() { //#define test #ifdef testauto _start chrono::high_resolution_clock::now();freopen(in.txt,r,stdin);freopen(out.txt,w,stdout); #endif // IO;cinn;segtree tree(n);cinm;while(m--){ll a,b,c,d;cina;if(a1) {cinbcd;int idtree.query_minid(b,c);ll mntree.query_min(b,c);tree.update(id,d);if(tree.query_gcd(b,c)d)coutYESendl;else coutNOendl;tree.update(id,mn);}else {cinbc;tree.update(b,c);}}return 0; }转载于:https://www.cnblogs.com/nervendnig/p/10227074.html
http://www.pierceye.com/news/875118/

相关文章:

  • 做电商网站的框架结构图wordpress用户标签
  • 益阳做网站的公司濮阳新闻直播
  • 网站logo更换晋城市 制作网站
  • 读书网站建设策划书摘要推荐网站建设案例
  • 西安网站建设 大德wordpress图片浏览
  • 陕西建设注册中心网站网页设计与制作长江职业学院
  • 佛山网站设计外包有没有做淘宝客网站的
  • 手机怎么做3d短视频网站网站开发工程师php岗位职责
  • 莆田做网站公司电话人才网站建设方案
  • 找人做网站需要问哪些问题桂林漓江悦府
  • 专门做2次元图片的网站高清vpswindows在线看
  • 青岛手机建站公司网站源码com大全
  • 电脑搭建网站需要空间wordpress文件夹权限设置方法
  • 建设网站基础医疗网站建设比较好的
  • 建个网站视频教程小程序开发是前端还是后端
  • 广州分享网站建设网站速度查询
  • 做电商网站价钱传奇类网页游戏大全
  • 如何选择南京网站建设网站制作能赚多少钱
  • 一站式网站设计已有域名如何在花生壳网站做二级域名托管
  • 哪个网站可以接图纸做返利网站怎么做的
  • 旅游网站建设国内外现状辽阳专业建设网站公司
  • 免费视频模板网站wordpress不写代码
  • 设计网站公司 露 联湖南岚鸿小程序网站开发公司
  • 聊城网站设计seo公司重庆
  • 网站布局技术厦门网站建设680元
  • 深圳物流公司网站建e网怎么做效果图
  • 做营销网站公司建个个人网站一年多少钱
  • 阆中网站网站建设代理网络服务器
  • 企业网站新模式seo排名推广工具
  • 山东做网站三五个人网页设计作品简单