这篇教程C++ upd函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中upd函数的典型用法代码示例。如果您正苦于以下问题:C++ upd函数的具体用法?C++ upd怎么用?C++ upd使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了upd函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: compareubool compareu(VString string, VString stringt){ if (string.sz!=stringt.sz) return 0; unsigned char* to=string.data+stringt.sz; while(string.data<to){ if (upd(*string.data)!=upd(*stringt.data)) return 0; // asm++ string.data++; stringt.data++; } return 1;}
开发者ID:mikelsv,项目名称:opensource,代码行数:7,
示例2: solvevoid solve() { scanf("%d", &n); vvi closest; closest.assign(n, vi(4, -1)); forn(i, n) { a[i].read(); } for (int i = 0; i < n; ++i) { for (int j = i + 1; j < n; ++j) { int u = i, v = j; if (a[u].x == a[v].x) { if (a[u].y > a[v].y) swap(u, v); upd(u, closest[u][to_dir('v')], v); upd(v, closest[v][to_dir('^')], u); } else if (a[u].y == a[v].y) { if (a[u].x > a[v].x) swap(u, v); upd(u, closest[u][to_dir('>')], v); upd(v, closest[v][to_dir('<')], u); } } } int ans = doit(closest, 0); for (int i = 1; i < n; ++i) { ans = max(ans, doit(closest, i)); } cout << ans << endl;}
开发者ID:nozdrenkov,项目名称:sp,代码行数:27,
示例3: genhash_fun_updateenum update_typegenhash_fun_update(genhash_t* h, const void* k, void *(*upd)(const void *, const void *), void (*fr)(void*), const void *def){ struct genhash_entry_t *p; enum update_type rv=0; p=genhash_find_entry(h, k); if(p) { void *newValue=upd(k, p->value); void *k2=h->ops.dupKey(k); h->ops.freeKey(p->key); p->key=k2; void *v2=h->ops.dupValue(newValue); h->ops.freeValue(p->value); p->value=v2; fr(newValue); rv=MODIFICATION; } else { void *newValue=upd(k, def); genhash_store(h, k, newValue); fr(newValue); rv=NEW; } return rv;}
开发者ID:couchbase,项目名称:moxi,代码行数:33,
示例4: genhash_fun_updateenum update_type genhash_fun_update(genhash_t* h, const void* k, size_t klen, void *(*upd)(const void *, const void *, size_t *, void *), void (*fr)(void*), void *arg, const void *def, size_t deflen){ struct genhash_entry_t *p; enum update_type rv=0; size_t newSize = 0; (void)deflen; p=genhash_find_entry(h, k, klen); if(p) { void *newValue=upd(k, p->value, &newSize, arg); free_value(h, p->value); p->value=dup_value(h, newValue, newSize); fr(newValue); rv=MODIFICATION; } else { void *newValue=upd(k, def, &newSize, arg); genhash_store(h, k, klen, newValue, newSize); fr(newValue); rv=NEW; } return rv;}
开发者ID:hisundar,项目名称:memcached,代码行数:29,
示例5: mainint main() { scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) upd(i, 1), a[i] = 1; for (int i = 0; i < m; i++) { int l, r, c; scanf("%d", &c); if (c == -1) { scanf("%d", &l); l--; if (a[l]) { a[l]--; upd(l, -1); } } if (c == 1) { scanf("%d", &l); l--; if (!a[l]) { a[l]++; upd(l, 1); } } if (!c) { scanf("%d%d", &l, &r); l--, r--; printf("%s/n", sum(r) - sum(l - 1) == r - l + 1 ? "PASSED" : "PENALTY"); } } return 0;}
开发者ID:Slava,项目名称:competitiveProgramming,代码行数:26,
示例6: updvoid upd(int nd,int l,int r,int k,unsigned long long int v){ int mid=(l+r)/2; if(l==r) {str[nd]=v; if(v==0) ver[nd]=true; return;} else if(k<=mid) upd(nd*2,l,mid,k,v); else upd((nd*2)+1,mid+1,r,k,v); if(v==0) {ver[nd]=true; str[nd]=0;} else {if(str[nd]<v&&ver[nd]==false) str[nd]=v;}}
开发者ID:Sirawit7205,项目名称:C-CPP-codes,代码行数:8,
示例7: rotinline void rot(nd *&n,bool b) { nd *c=n->ch[b]; n->ch[b]=c->ch[!b]; c->ch[!b]=n; upd(n); upd(c); n=c;}
开发者ID:BinAccel,项目名称:competitive-programming,代码行数:8,
示例8: queryvoid query(int idx, int b, int e, int &x1, int &x2){ interval *i = d + idx; if(b > i->r || e < i->l) return; if(ok(i->f, b, e)) upd(i->f, x1, x2); if(ok(i->s, b, e)) upd(i->s, x1, x2); if(b <= i->l && i->r <= e) return; query(LEFT(idx), b, e, x1, x2); query(RIGHT(idx), b, e, x1, x2);}
开发者ID:a5216652166,项目名称:coding,代码行数:9,
示例9: morecompareubool VString::morecompareu(const VString& string)const{ int size= sz>string.sz ? string.sz : sz; for (int i=0; i<size; i++){ if (upd(data[i])>upd(string.data[i])) return 1; else if(data[i]<string.data[i]) return 0; } return sz>string.sz ? 1 : 0;}
开发者ID:mikelsv,项目名称:opensource,代码行数:9,
示例10: mainint main(int argc, char *argv[]){ setIO("sample"); n = gi; for(int i = 1;i<=n;a[i]=gi,w[i]=a[i],++i); sort(w+1,w+n+1); cnt = unique(w+1,w+n+1)-w-1; for(int i = 1;i<=n;a[i]=lower_bound(w+1,w+cnt+1,a[i])-w,++i); q = gi; int len = (int)(sqrt(n)+0.5); for(int i = 1;i<=q;++i){ ask[i].l = gi,ask[i].r= gi; ask[i].lp = (ask[i].l-1)/len+1; ask[i].pos = i; } sort(ask+1,ask+q+1); int pl = 1,pr = 0; for(int i = 1;i<=q;++i){ if(pr < ask[i].r){ for(++pr;pr <= ask[i].r;++pr){ ans += sum(cnt+1-a[pr]); upd(cnt+1-a[pr]+1,1); upd2(a[pr]+1,1); } --pr; }else if(pr > ask[i].r){ for(;pr>ask[i].r;--pr){ ans -= sum(cnt+1-a[pr]); upd(cnt+1-a[pr]+1,-1); upd2(a[pr]+1,-1); } } if(pl < ask[i].l){ for(;pl < ask[i].l;++pl){ ans -=sum2(a[pl]); upd(cnt+1-a[pl]+1,-1); upd2(a[pl]+1,-1);} } else if(pl > ask[i].l){ for(--pl;pl >= ask[i].l;--pl){ ans += sum2(a[pl]); upd(cnt+1-a[pl]+1,1); upd2(a[pl]+1,1); } ++ pl; } key[ask[i].pos] = ans; } for(int i = 1;i<=q;++i) printf("%d/n",key[i]); closeIO(); return EXIT_SUCCESS;}
开发者ID:niyuzheno1,项目名称:CODES,代码行数:54,
示例11: updvoidPrinter::move(float x, float y, float z, float e, float f) { GCode gc;#define upd(v) if(!isnan(v)) { this->v = v; } upd(x); upd(y); upd(z); upd(e); upd(f);#undef upd gc.setMove(x, y, z, e, f); addCommand(gc);}
开发者ID:fablab-bayreuth,项目名称:repetier-library,代码行数:13,
示例12: rtmsuint rtmsu(unsigned char *to, unsigned char *fr, unsigned int frs, unsigned char *&line){ //read to symbol up if(!line || !fr || !frs) return 0; unsigned char *lfr, *tfr, *ln; to-=frs-1; for(line; line<to; line++){ if(upd(*line)==upd(*fr)){ lfr=fr+1; tfr=fr+frs; ln=line+1; for(lfr; lfr<tfr; lfr++){ if(upd(*ln++)!=upd(*lfr)){ break; } } if(lfr==tfr){ return 1; } } } line=to+(frs-1); return 0;}
开发者ID:mikelsv,项目名称:opensource,代码行数:13,
示例13: upd Droot Node::split (int k){ if (!sz) return Droot (null, null); if (k <= ch[0]->sz){ Droot ret = ch[0]->split (k); ch[0] = ret.second; ret.second = upd (); return ret; } else{ Droot ret = ch[1]->split (k - ch[0]->sz - 1); ch[1] = ret.first; ret.first = upd (); return ret; } }
开发者ID:Merlinhool,项目名称:ACM-Source-Code,代码行数:14,
示例14: updatevoid update(int idx, int p){ interval *i = d + idx; assert(i->l <= i->r); if(p < i->l || p > i->r) return; upd(p, i->f, i->s); if(i->l < i->r){ int left = LEFT(idx), right = RIGHT(idx); update(LEFT(idx), p), update(RIGHT(idx), p); upd(d[left].f, i->f, i->s); upd(d[left].s, i->f, i->s); upd(d[right].f, i->f, i->s); upd(d[right].s, i->f, i->s); }}
开发者ID:a5216652166,项目名称:coding,代码行数:14,
示例15: initvoid init(int idx, int b, int e){ interval *i = d + idx; int m = (b + e) >> 1; i->l = b; i->r = e; assert(i->l <= i->r); i->f = i->s = 0; if(b < e){ int left = LEFT(idx), right = RIGHT(idx); init(left, b, m); init(right, m + 1, e); upd(d[left].f, i->f, i->s); upd(d[left].s, i->f, i->s); upd(d[right].f, i->f, i->s); upd(d[right].s, i->f, i->s); } else i->f = b;}
开发者ID:a5216652166,项目名称:coding,代码行数:16,
|