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

松原手机网站开发广东建设工程造价管理协会网站

松原手机网站开发,广东建设工程造价管理协会网站,重庆网站优化排名软件方案,网络营销案例100例小故事CF1208D Restore Permutation 题意#xff1a; 现在有一个从1到n的一个全排列,但是你不知道这个排列到底是什么,但是你有一个sum[i],其中sum[i]表示∑j1i−1(ajai)?aj:0∑_{j1}^{i−1}(a_ja_i)?a_j:0∑j1i−1​(aj​ai​)?aj​:0,现在给你sum数组,让你求出这…CF1208D Restore Permutation 题意 现在有一个从1到n的一个全排列,但是你不知道这个排列到底是什么,但是你有一个sum[i],其中sum[i]表示∑j1i−1(ajai)?aj:0∑_{j1}^{i−1}(a_ja_i)?a_j:0∑j1i−1​(aj​ai​)?aj​:0,现在给你sum数组,让你求出这个排列a 题解 如果sum[i]为0说明在位置i前面的所有数都比他大因为排列a是1到n的全排列也就是说对于数字1来说其sum[i]一定为0且在数字1位置后面的所有数的sum[i]一定不为0,因为有更小的1在前面。也就是说sum中最后一个0的位置就是1的位置找到1之后我们可以将1删除如果1的位置是pos那么pos1到n的所有数都要减1此时数字2的sum就会是下一个最右边的0的位置。也就是说每次找最右边0的位置pos那就是第i个数然后将[pos1,n]区间内所有数减i相当于把第i个数给去掉了 线段树区间修改区间查询即可维护 代码 #include bits/stdc.h #include unordered_map #define debug(a, b) printf(%s %d\n, a, b); using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pairint, int PII; clock_t startTime, endTime; //Fe~Jozky const ll INF_ll 1e18; const int INF_int 0x3f3f3f3f; void read(){}; template typename _Tp, typename... _Tps void read(_Tp x, _Tps... Ar) {x 0;char c getchar();bool flag 0;while (c 0 || c 9)flag| (c -), c getchar();while (c 0 c 9)x (x 3) (x 1) (c ^ 48), c getchar();if (flag)x -x;read(Ar...); } template typename T inline void write(T x) {if (x 0) {x ~(x - 1);putchar(-);}if (x 9)write(x / 10);putchar(x % 10 0); } void rd_test() { #ifdef ONLINE_JUDGE #elsestartTime clock ();freopen(data.in, r, stdin); #endif } void Time_test() { #ifdef ONLINE_JUDGE #elseendTime clock();printf(\nRun Time:%lfs\n, (double)(endTime - startTime) / CLOCKS_PER_SEC); #endif } const int maxn4e59; #define int long long int a[maxn]; struct node{int l,r;int minn;int lazy; }tr[maxn1]; void pushup(int rt){tr[rt].minnmin(tr[rt1].minn,tr[rt1|1].minn); } void pushdown(int rt){if(tr[rt].lazy){tr[rt1].minntr[rt].lazy;tr[rt1].lazytr[rt].lazy;tr[rt1|1].minntr[rt].lazy;tr[rt1|1].lazytr[rt].lazy;tr[rt].lazy0;}return ; } void build(int rt,int l,int r){tr[rt].ll;tr[rt].rr;if(lr){tr[rt].minna[l];return ;}int midlr1;build(rt1,l,mid);build(rt1|1,mid1,r);pushup(rt); } ll query(ll rt,ll l,ll r){if(tr[rt].ltr[rt].r)return tr[rt].l;pushdown(rt);if(tr[rt1|1].minn0)return query(rt1|1,l,r);else if(tr[rt1].minn0)return query(rt1,l,r); } void update(int rt,int l,int r,int val){if(tr[rt].lr||tr[rt].rl)return ;if(tr[rt].lltr[rt].rr){tr[rt].minnval;tr[rt].lazyval;return ;}pushdown(rt);update(rt1,l,r,val);update(rt1|1,l,r,val);pushup(rt); } int p[maxn]; signed main() {//rd_test();int n;cinn;for(int i1;in;i)cina[i];build(1,1,n);for(int i1;in;i){int posquery(1,1,n);p[pos]i; // printf(pos%d\n,pos);update(1,pos,pos,4e109);update(1,pos1,n,-1*i);}for(int i1;in;i){coutp[i] ;}coutendl;return 0;//Time_test(); }
http://www.yutouwan.com/news/343829/

相关文章:

  • 广中路街道网站建设网站开发技巧
  • 快速生成网站程序如何建设招聘网站
  • 邹城建设银行网站it网站建设方案
  • 建德网站超市网站模版
  • 南城区做网站建设网站必须要服务器吗
  • 国外 做励志视频的网站淄博网站建设补贴
  • 郑州的网站建设公司哪家好网站建设 石家庄
  • 深圳市力同科技有限公司长春做网络优化的公司
  • flash网站建设价格wordpress 教学下载
  • 网站后台尺寸一般做多大的建筑导航网站
  • 模仿建设银行网站深圳南山网站建设工作室
  • 企业网站开发的文献综述个人做网站有什么用
  • server2008 做网站网络科技有限公司照片
  • 网站服务器租一个月长春做网站电话
  • 如何上传网站到空间大学生做网站怎么赚钱
  • 承接网站网站建设网站建设图片编辑
  • wordpress网站价钱wordpress页面评论
  • Wordpress网站仿站wordpress化学式编辑插件
  • 如何让百度收录自己的网站信息wordpress永久链接无效
  • 品牌推广公司简介东莞有限公司seo
  • 微信小程序可以做音乐网站吗云南网站设计选哪家
  • dede网站备份合适的网站制作需要多少钱
  • 手机金融界网站永嘉网站建设几
  • 网站二级页面需不需要设置关键词网站取源用iapp做软件
  • 广州网站推广电话新都网站开发
  • 网站免费正能量直接进入浏览器下载安装做色流网站要注意什么问题
  • 国内好点的wordpress主题百度关键词优化有效果吗
  • 郑州制作网站做网站比较好
  • 公司网站建设哪家公司好有哪些可以做h5的网站
  • 工程设计与建设 网站c网站开发教程