int main(int argc, char *argv[]) { setIO("sample"); n = gi,build(1,1,n),m = gi; while(m--) { type = gi,x = gi,y = gi; if(type){ k = gi; int len = 0,ans = 0; while(len < k){ query(1,1,n,x,y,o[++len]); if(o[len].a[1].m <= 0) {--len;break;} ans += o[len].a[1].m; rev(1,1,n,o[len].a[1].L,o[len].a[1].R); } printf("%d\n",ans); for(int i = len;i;--i) rev(1,1,n,o[i].a[1].L,o[i].a[1].R); } else modify(1,1,n,x,y); } closeIO(); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { srand(233); setIO("sample"); n = gi; m = gi; q = gi; for(int i = 1;i<=n;++i) mp[i] = ((rand())*p+pp*(rand()+ppp))*pppp; size[1] = n; for(int i = 1;i<=n;++i) room[1] ^= mp[i],bel[i] = 1; s.insert(1); while(q--) { char opt[3];scanf("%s",opt); if(opt[0] == 'C'){ int i = gi,j= gi; Change(i,j); }else { int l = gi,r = gi; printf("%d\n",Qsum(l,r)); } } closeIO(); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { setIO("QTREE7"); scanf("%d",&n); t[1].init(n);t[0].init(n); for(int i = 1,x,y;i<=n-1;++i) { scanf("%d%d",&x,&y); ae(x,y);ae(y,x); } for(int i = 1;i<=n;++i) scanf("%d",&col[i]); for(int i = 1;i<=n;++i) scanf("%d",&we[i]); bfs(1); scanf("%d",&m); for(int i = 1,x,y,z;i<=m;i++) { scanf("%d%d",&x,&y); if(x == 0) printf("%d\n",t[col[y]].query(y)); else if(x == 1) { t[col[y]].cut(y); col[y]^=1; t[col[y]].link(y); } else if(x == 2) { scanf("%d",&z); t[0].modify(y,z); t[1].modify(y,z); } } closeIO(); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { setIO("sample"); srand(19961028); n = gi,m = gi; for(int i = 1;i<=n;++i) a[i] = NULL; init(); while(m--){ char tp = getchar(); while(tp != 'C' && tp != 'Q') tp = getchar(); if(tp == 'C') { int l= gi,r = gi,k = gi; change(l,r,k); } else if(tp == 'Q') { int l = gi,r = gi; printf("%d\n",query(l,r)); } } closeIO(); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { setIO("sample");CLEAR(st,0xff); n = gi; for(int i = 1;i<=n;fa[i]=i,++i) a[i] = gi,b[i] = a[i]; sort(b+1,b+1+n); int l = unique(b+1,b+1+n)-b-1; for(int i = 1;i<=n;++i) a[i] = lower_bound(b+1,b+l+1,a[i])-b; a[0] = -INF,a[n+1] = -INF; for(int i = 0;i<=n+1;++i) { while(top && a[stk[top]]>a[i]) rm[stk[top]]=i,--top; ++top;stk[top] = i; } top = 0; for(int i = n+1;i>=0;--i) { while(top && a[stk[top]]>a[i]) lm[stk[top]]=i, --top; ++top;stk[top] = i; } top = 0; for(int i = 1;i<=n;++i) add(lm[i]+1,rm[i]-1,0,i); for(int i = 1;i<=n;++i){ while(top && a[stk[top]] <= a[i]) unions(i,stk[top]),--top; ++top; stk[top] = i; TRA(x,i) ans[lk[x].w] = a[gf(lk[x].v)]; } for(int i = 1;i<=n;++i) printf(i==1?"%d":" %d",b[ans[i]]-b[a[i]]); puts(" "); closeIO(); return EXIT_SUCCESS; }
unsigned char initClasses(void) { unsigned short numberOfclasses; unsigned short count; uint16 classDataSize; uint16 inheritanceMatrixSize; numberOfclasses = readShort(); printStr("deserializing "); printShort(numberOfclasses); printStr(" classes"); classes = _malloc_(sizeof(ClassInfo) * numberOfclasses); if (!classes) { return 0; } for (count = 0; count < numberOfclasses; count++) { ClassInfo *current = &classes[count]; printStr("."); current->superClass = readShort(); current->dimension = readByte(); current->hasLock = readByte(); current->dobjectSize = readShort(); current->pobjectSize = readShort(); { unsigned short length; length = readShort(); if (length) { current->interfaces = readClassInterfaces(length); } } current->name = readName(); } printStr("done\n"); classDataSize = readShort(); printStr("Allocating class data ["); printShort(classDataSize); printStr("]\n"); classData = _malloc_(classDataSize); if (!classData) { return 0; } inheritanceMatrixSize = readShort(); printStr("Allocating inheritanceMatrix ["); printShort(inheritanceMatrixSize); printStr("]\n"); inheritanceMatrix = _malloc_(inheritanceMatrixSize); for (count = 0; count < inheritanceMatrixSize; count++) { inheritanceMatrix[count] = readByte(); } printStr("deserializing class store configuration variables\n"); tupac = readByte(); JAVA_LANG_STRING_var = readShort(); JAVA_LANG_OBJECT_var = readShort(); JAVA_LANG_INTEGER_var = readShort(); JAVA_LANG_BYTE_var = readShort(); JAVA_LANG_SHORT_var = readShort(); JAVA_LANG_BOOLEAN_var = readShort(); JAVA_LANG_LONG_var = readShort(); JAVA_LANG_CLASS_var = readShort(); JAVA_LANG_CLASSCASTEXCEPTION_var = readShort(); JAVA_LANG_OUTOFMEMORYERROR_var = readShort(); JAVA_LANG_THROWABLE_var = readShort(); JAVA_LANG_ARITHMETICEXCEPTION_var = readShort(); VM_HARDWAREOBJECT_var = readShort(); JAVA_LANG_NULLPOINTEREXCEPTION_var = readShort(); _C_var = readShort(); _I_var = readShort(); VM_MEMORY_var = readShort(); printStr("done\n"); closeIO(); printStr("deserialized "); printShort(getByteCount()); printStr(" bytes from "); printStr(getOutputFile()); printStr("\n"); return 1; }
SerialIO::~SerialIO() { closeIO(); }
int main(int argc, char *argv[]) { setIO("sample"); n = gi; l = n; for(int i = 1; i<=n-1; ++i) { int x = gi,y = gi; add(x,y); add(y,x); } CLEAR(f,1); CLEAR(son,0); CLEAR(deep,0); f[1] = false,tim = 0,deep[1] = 1; dfs(1); tot = 0; int tmp = build(0,1,n); for(int i = 1; i<=n; ++i) c[i] = tmp; m = gi; for(int i = 1; i<=m; ++i) { int x = gi,y = gi; ins(point[x],point[y],1); ins(point[y],point[x],1); } int count = gi; while(count--) { int opt = gi,x= gi,y=gi; if(opt == 1) { ins(point[x],point[y],1); ins(point[y],point[x],1); } if(opt == 2) { ins(point[x],point[y],-1); ins(point[y],point[x],-1); } if(opt == 3) { if(point[x]>point[y]) swap(x,y); if(point[x]+son[x]-1>=point[y]) //case 1:y belongs to x { tmp = lca(x,y); int x1,x2,y1,y2; x1 = point[tmp]-1; x2 = point[tmp]+son[tmp]; y1 = point[y]; y2 = y1 + son[y]-1; printf("%d\n",getsum(y2,1,x1)-getsum(y1-1,1,x1)+getsum(y2,x2,n)-getsum(y1-1,x2,n)); } else { //case 2:y not belongs to x int x1,x2,y1,y2; x1 = point[x]; x2 = x1 + son[x]-1; y1 = point[y]; y2 = y1 + son[y]-1; printf("%d\n",getsum(y2,x1,x2)-getsum(y1-1,x1,x2)); } } } closeIO(); return EXIT_SUCCESS; }
void* CDSPControl::Entry() { // Open for business m_running = true; m_rxWriter->enable(); while (!TestDestroy()) { wxSemaError ret = m_waiting.WaitTimeout(500UL); if (ret == wxSEMA_NO_ERROR) { if (m_transmit == TXSTATE_INT || m_transmit == TXSTATE_EXT) { unsigned int nSamples = m_txRingBuffer.getData(m_txBuffer, m_blockSize); if (nSamples != m_blockSize) { // Copy the last buffer of good data to the output ::memcpy(m_txBuffer, m_txLastBuffer, m_blockSize * sizeof(float) * 2U); m_txFills++; } else { // Save the last full buffer in case it's needed ::memcpy(m_txLastBuffer, m_txBuffer, m_blockSize * sizeof(float) * 2U); } if (nSamples > 0U) m_txWriter->write(m_txBuffer, nSamples); } unsigned int nSamples = m_rxRingBuffer.getData(m_rxBuffer, m_blockSize); // Create silence on transmit if no sidetone is being transmitted if (nSamples == 0U && (m_transmit == TXSTATE_INT || m_transmit == TXSTATE_EXT)) { ::memset(m_rxBuffer, 0x00U, m_blockSize * 2U * sizeof(float)); nSamples = m_blockSize; } // Only send audio to the external protocol handler when not transmitting if (m_extHandler != NULL && m_transmit != TXSTATE_EXT) m_extHandler->writeAudio(m_rxBuffer, nSamples); if (nSamples != m_blockSize) { // Copy the last buffer of good data to the output ::memcpy(m_rxBuffer, m_rxLastBuffer, m_blockSize * sizeof(float) * 2U); m_rxFills++; } else { // Save the last full buffer in case it's needed ::memcpy(m_rxLastBuffer, m_rxBuffer, m_blockSize * sizeof(float) * 2U); } // Don't record when transmitting if (m_record != NULL && (m_recordType == RECORD_MONO_AUDIO || m_recordType == RECORD_STEREO_AUDIO) && m_transmit == TXSTATE_RX) m_record->write(m_rxBuffer, nSamples); // Scale the audio by the AF Gain setting for (unsigned int i = 0U; i < (nSamples * 2U); i++) m_rxBuffer[i] *= m_afGain; m_rxWriter->write(m_rxBuffer, nSamples); } } m_running = false; m_rxWriter->disable(); m_txWriter->disable(); wxLogMessage(wxT("DSPControl: RX Overruns=%u, RX Fills=%u"), m_rxOverruns, m_rxFills); wxLogMessage(wxT("DSPControl: TX Overruns=%u, TX Fills=%u"), m_txOverruns, m_txFills); closeIO(); return (void*)0; }
int main(int argc, char *argv[]) { setIO2("tsinsenD5530"); n= gi,m =gi; len = int(sqrt(n))+1; num = n/len+1; for(int i = 0;i<=num;++i) a[i].resize(); for(int i = 1;i<=n;++i) { pii tmp = getpos(i); a[tmp.X].a[tmp.Y] = gi%modd; a[tmp.X].b[tmp.Y] = gi%modd; } for(int i = 0;i<=num;++i) a[i].getup(); int times = 0; for(int i = 1;i<=m;++i) { clock_t start,end; start = clock(); int opt,x,y; scanf("%d%d%d",&opt,&x,&y);//int opt = gi,x = gi,y=gi; if(opt == 1) { pii tmp1 = getpos(x); pii tmp2 = getpos(y); if(tmp1.X == tmp2.X){ a[tmp1.X].pd(); a[tmp1.X].rebuild(tmp1.Y,tmp2.Y,opt); } else{ a[tmp1.X].pd(); a[tmp2.X].pd(); a[tmp1.X].rebuild(tmp1.Y,len-1,opt); a[tmp2.X].rebuild(0,tmp2.Y,opt); for(int i = tmp1.X+1;i<tmp2.X;++i) a[i].change(opt); } } if(opt == 2) { pii tmp1 = getpos(x); pii tmp2 = getpos(y); if(tmp1.X == tmp2.X){ a[tmp1.X].pd(); a[tmp1.X].rebuild(tmp1.Y,tmp2.Y,opt); } else{ a[tmp1.X].pd(); a[tmp2.X].pd(); a[tmp1.X].rebuild(tmp1.Y,len-1,opt); a[tmp2.X].rebuild(0,tmp2.Y,opt); for(int i = tmp1.X+1;i<tmp2.X;++i) a[i].change(opt); } } if(opt == 3) { if(times == 4) times=4; int ret = 0; pii tmp1 = getpos(x); pii tmp2 = getpos(y); if(tmp1.X == tmp2.X){ a[tmp1.X].pd(); for(int i = tmp1.Y;i<=tmp2.Y;++i) ret = add(ret,mut(a[tmp1.X].a[i],a[tmp1.X].b[i])); }else{ a[tmp1.X].pd(); a[tmp2.X].pd(); for(int i = tmp1.Y;i<len;++i) ret = add(ret,mut(a[tmp1.X].a[i],a[tmp1.X].b[i])); for(int i = 0;i<=tmp2.Y;++i) ret = add(ret,(mut(a[tmp2.X].a[i],a[tmp2.X].b[i]))); for(int i = tmp1.X+1;i<tmp2.X;++i) ret = add(ret,a[i].upd()); } ++times; printf("%d\n",ret); } end = clock(); double duration = (double)(end - start) / CLOCKS_PER_SEC; ff(debug,"%f\n",duration); } closeIO(); return EXIT_SUCCESS; }