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

中国商务部市场建设司网站互联网营销师证书含金量

中国商务部市场建设司网站,互联网营销师证书含金量,有效的网络编址方案有,福州做网站外包团队Problem - 1579E2 - Codeforces Array Optimization by Deque - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 树状数组解法 将 a i a_i ai​插入到队头,贡献为:原队列中所有比 a i a_i ai​小的数的数量将 a i a_i ai​插入到队尾,贡献为&a…

Problem - 1579E2 - Codeforces

image-20231126234824468

Array Optimization by Deque - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

树状数组解法

  • a i a_i ai插入到队头,贡献为:原队列中所有比 a i a_i ai小的数的数量
  • a i a_i ai插入到队尾,贡献为:原队列中所有比 a i a_i ai大的数的数量

可以发现对于每一次插入a值,影响插入的只跟已经放入的大于a或小于a的数量有关。

需要一个数据结构,满足:动态修改、查询。可以发现树状数组可以做这些操作,不过 a i a_i ai较大,开不下数组,可以离散化。

在离散化后,本题转为:查询 a i a_i ai前面的数量和后面的数量(大于/小于)。如果前面的数量小,就插前面,否则插入后面,将答案进行更新。

#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <set>
#include <map>
#include <queue>
#include <ctime>
#include <random>
#include <sstream>
#include <numeric>
#include <stdio.h>
#include <functional>
#include <bitset>
#include <algorithm>
using namespace std;#define Multiple_groups_of_examples
#define int_to_long_long
#define IOS std::cout.tie(0);std::cin.tie(0)->sync_with_stdio(false); // 开IOS,需要保证只使用Cpp io流 *
#define dbgnb(a) std::cout << #a << " = " << a << '\n';
#define dbgtt cout<<" !!!test!!! "<<'\n';
#define rep(i,x,n) for(int i = x; i <= n; i++)#define all(x) (x).begin(),(x).end()
#define pb push_back
#define vf first
#define vs secondtypedef long long LL;
#ifdef int_to_long_long
#define int long long
#endif
typedef pair<int,int> PII;const int INF = 0x3f3f3f3f;
const int N = 2e5 + 21;template <class T>
struct Fenwick { int n;vector<T> a;Fenwick(const int &n = 0) : n(n), a(n, T()) {}void modify(int i, T x) {for (i++; i <= n; i += i & -i) {a[i - 1] += x;}}T get(int i) {T res = T();for (; i > 0; i -= i & -i) {res += a[i - 1];}return res;}T sum(int l, int r) { // [l, r] *这里已经改过return get(r + 1) - get(l);}int kth(T k) {int x = 0;for (int i = 1 << __lg(n); i; i >>= 1) {if (x + i <= n && k >= a[x + i - 1]) {x += i;k -= a[x - 1];}}return x;}
};void inpfile();
void solve() {int n; cin>>n;vector<int> a(n);for(auto &t: a) cin>>t;// 离散化vector<int> id(a);sort(all(id));id.erase(unique(all(id)), id.end());vector<int> last(n);for(int i = 0; i < n; ++i) last[i] = lower_bound(all(id), a[i]) - id.begin() + 1;Fenwick<int> tr(n + 21);int sum = 0;for(int i = 0; i < n; ++i) {// lv表示插入队首,rv表示插入队尾的逆序对值int lv = tr.sum(1, last[i] - 1), rv = tr.sum(last[i] + 1, n + 20);sum += min(lv, rv);tr.modify(last[i], 1);}cout<<sum<<endl;}
#ifdef int_to_long_long
signed main()
#else
int main()
#endif{#ifdef Multiple_groups_of_examplesint T; cin>>T;while(T--)#endifsolve();return 0;
}
void inpfile() {#define mytest#ifdef mytestfreopen("ANSWER.txt", "w",stdout);#endif
}

pbds 解法

pbds库学习笔记(优先队列、平衡树、哈希表) - 知乎 (zhihu.com)

发现核心就是求排名,平衡树即可。这里提供pbds的代码:

#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <set>
#include <map>
#include <queue>
#include <ctime>
#include <random>
#include <sstream>
#include <numeric>
#include <stdio.h>
#include <functional>
#include <bitset>
#include <algorithm>// pbds
#include <bits/extc++.h>
using namespace __gnu_cxx;
using namespace __gnu_pbds;
using namespace std;#define Multiple_groups_of_examples
#define int_to_long_long
#define IOS std::cout.tie(0);std::cin.tie(0)->sync_with_stdio(false); // 开IOS,需要保证只使用Cpp io流 *
#define dbgnb(a) std::cout << #a << " = " << a << '\n';
#define dbgtt cout<<" !!!test!!! "<<'\n';
#define rep(i,x,n) for(int i = x; i <= n; i++)#define all(x) (x).begin(),(x).end()
#define pb push_back
#define vf first
#define vs secondtypedef long long LL;
#ifdef int_to_long_long
#define int long long
#endif
typedef pair<int,int> PII;const int INF = 0x3f3f3f3f;
const int N = 2e5 + 21;
// pbds
typedef tree<PII, null_type, less<PII>, rb_tree_tag, tree_order_statistics_node_update> Tree;
void inpfile();
void solve() {int n; cin>>n;Tree tr;int sum = 0;for(int i = 0; i < n; ++i) {int t; cin>>t;int lv = tr.order_of_key({t, 0}), rv = i - tr.order_of_key({t, n});sum += min(lv, rv);tr.insert({t, i});}cout<<sum<<endl;
}
#ifdef int_to_long_long
signed main()
#else
int main()
#endif{#ifdef Multiple_groups_of_examplesint T; cin>>T;while(T--)#endifsolve();return 0;
}
void inpfile() {#define mytest#ifdef mytestfreopen("ANSWER.txt", "w",stdout);#endif
}

pbds库学习笔记(优先队列、平衡树、哈希表) - 知乎 (zhihu.com)

http://www.hkea.cn/news/874678/

相关文章:

  • 小程序电商模板seo关键词排名优化品牌
  • 泉州网站优化排名百度关键字优化价格
  • 上海网站建设好处win优化大师官网
  • 适合毕设做的简单网站初学seo网站推广需要怎么做
  • 想把书放到二手网站如何做深圳seo关键词优化
  • 合肥网站优化排名推广合理使用说明
  • 如何网站专题策划互联网推广是什么
  • 用hadoop做网站日志分析推广工作的流程及内容
  • 凡科做网站技巧站长之家域名信息查询
  • 网站建设国际深圳网络营销课程ppt
  • 网站开发人员需要具备的能力电脑培训班多少费用
  • discuz集成wordpressseo的概念是什么
  • 子网站如何做网站营销方案模板
  • dreamweaver做的网站电商培训班一般多少钱
  • 国外做科研的网站东莞网站设计公司排名
  • 亿唐网不做网站做品牌原因seo网站诊断报告
  • 宝鸡网站建设东东怎么推广软件让别人下载
  • 21dove谁做的的网站百度一下首页设为主页
  • 猪八戒网站建设推广平台排名前十名
  • 广西建设质监站官方网站站长工具seo综合查询可以访问
  • 通用搭建网站教程优化营商环境的意义
  • 网站中加入地图怎样优化网站排名
  • 网站如何被搜索引擎收录地推推广平台
  • 池州做网站公司游戏搜索风云榜
  • 东丽区做网站网站查询平台
  • wordpress什么主题好用seo优化范畴
  • 局域网端口映射做网站西安竞价托管代运营
  • 重庆网站建设设计公司信息ip网站查询服务器
  • 网站积分的作用seo搜索引擎优化就业前景
  • 珠海网站品牌设计公司简介最新国内新闻重大事件