19-10-29-Night-X
时间:2019-10-30
本文章向大家介绍19-10-29-Night-X,主要包括19-10-29-Night-X使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
布谷。
欢迎大家来不耻下问。
这里是正解不会,暴力写跪,乱搞鸡肋的某虻 。
好想放假啊!!!!
话说猫厂现在产量低迷……
ZJ一下:
T1,三维偏序,只码了$\Theta(N^2)$暴力
T2,暴力愉快。
T3,输〇片分。
简单TJ:
T1
因为这个题的要求比较特殊,求解的答案可以和一个输入的顺序一起维护。
首先通过排序将$A$数组的偏序限制解决
然后用树状数组暴干$B$数组的大小,将位置插入树状数组比较维护。
最后的答案直接查即可。
#include <algorithm> #include <iostream> #include <cstring> #include <climits> #include <vector> #include <cstdio> #define N 555555 #define LL long long using namespace std; const int lim=500000; LL pn; struct PRE{ LL id,pa,pb; }ps[N]; vector<LL>vls; LL pre[N]; LL ans=0; inline LL fvind(LL a){ return lower_bound(vls.begin(),vls.end(),a)-vls.begin()+1; } inline LL lowbit(int x){ return x&(-x); } void add(LL pos,LL val){ while(pos<=lim){ pre[pos]=min(pre[pos],val); pos+=lowbit(pos); } } LL query(LL pos){ LL res=LLONG_MAX; while(pos){ res=min(res,pre[pos]); pos-=lowbit(pos); } return res; } int main(){ LL a; ios_base::sync_with_stdio(false); cin>>pn; for(int i=1;i<=pn;i++)ps[i].id=i; for(int i=1;i<=pn;i++){ cin>>a; ps[i].pa=ps[i-1].pa+a; } vls.push_back(0); for(int i=1;i<=pn;i++){ cin>>a; ps[i].pb=ps[i-1].pb+a; vls.push_back(ps[i].pb); } // for(auto i:vls){\ cout<<i<<" ";\ }cout<<endl; sort(vls.begin(),vls.end()); vls.erase(unique(vls.begin(),vls.end()),vls.end()); // for(auto i:vls){\ cout<<i<<" ";\ }cout<<endl; for(int i=0;i<=pn;i++){ ps[i].pb=fvind(ps[i].pb); } sort(ps,ps+pn+1,[](const PRE &a,const PRE &b) {return a.pa==b.pa?a.id<b.id:a.pa<b.pa;}); // for(int i=1;i<=pn;i++){\ cout<<ps[i].pa<<" "<<ps[i].pb<<" "<<ps[i].id<<endl;\ } memset(pre,0x7f,sizeof pre); // add(ps[0].pb,0); for(int i=0;i<=pn;i++){ LL vl=query(ps[i].pb);//cout<<ps[i].id<<"val:"<<vl<<endl; add(ps[i].pb,ps[i].id); ans=max(ans,ps[i].id-vl); } cout<<ans<<endl; }
T2
证明先咕下。
利用决策单调性,将$\Theta(N^3)$优化成$\Theta(N^2)$
#include <iostream> #include <climits> #include <cstring> #include <cstdio> #define N 5555 #define LL long long using namespace std; int pn; LL arr[N],pre[N], dp[N][N], ap[N][N]; int main(){ cin.sync_with_stdio(false); cin>>pn; for(int i=1;i<=pn;i++){ cin>>arr[i]; pre[i]=pre[i-1]+arr[i]; } for(int i=1;i<=pn;i++){ for(int j=1;j<=pn;j++){ if(i<=j)dp[i][j]=LLONG_MAX/3; else dp[i][j]=0; } } for(int i=1;i<=pn;i++){ dp[i][i]=arr[i]; ap[i][i]=i; } for(int i=1;i<pn;i++){ for(int j=1;j+i<=pn;j++){ int l=j,r=j+i; // cout<<l<<" "<<r<<endl; // cout<<ap[l][r-1]<<"~"<<ap[l+1][r]<<endl; for(int k=ap[l][r-1];k<=ap[l+1][r];k++){ // cout<<dp[l][r]<<" <<<< "<<dp[l][k-1]<<"+"<<dp[k+1][r]<<endl; if(dp[l][r]>dp[l][k-1]+dp[k+1][r]){ dp[l][r]=dp[l][k-1]+dp[k+1][r]; ap[l][r]=k; } } dp[l][r]+=pre[r]-pre[l-1]; } } cout<<dp[1][pn]<<endl; }
T3
大神题,好像和一些神奇的高斯消元有关。
原文地址:https://www.cnblogs.com/kalginamiemeng/p/Exam20191029-Night.html
- 前端MVC Vue2学习总结(五)——表单输入绑定、组件
- 【HCTF】2017部分Web出题思路详解
- 前端MVC Vue2学习总结(四)——条件渲染、列表渲染、事件处理器
- 如何移除Android应用广告
- 前端MVC Vue2学习总结(三)——模板语法、过滤器、计算属性、观察者、Class 与 Style 绑定
- 前端MVC Vue2学习总结(二)——Vue的实例、生命周期与Vue脚手架(vue-cli)
- hive具体操作
- hive中配置hwi
- 从零开始内网安全渗透学习
- hive启动后相关操作
- 开源API测试工具 Hitchhiker v0.10 - 中文版
- 强大的API测试工具Hitchhiker v0.9 基于UI的断言测试,回顾2017
- 开源API测试工具 Hitchhiker v0.8 - 自动化测试结果统计
- 开源API测试工具 Hitchhiker v0.7更新 - Schedule的对比diff
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 刷爆全网的动态条形图,原来5行Python代码就能实现!
- Vue框架av88732281笔记
- iOS-组件化(OC篇)
- Angular async pipe在html模板中的一个实际应用
- 3D引擎中LOD技术的理论基础
- one-hot encoding不是万能的,这些分类变量编码方法你值得拥有
- 【5分钟玩转Lighthouse】爬取JavaScript动态渲染页面
- 科技爱好者周刊(第 127 期):未来人人开发软件,几乎没人编码
- mac快捷键
- 浅谈Kotlin的Checked Exception机制
- 自研网关:特殊URL功能的开发
- centos7多网卡配置
- vuecli3 build之后静态文件出现404
- Muti-Similarity Loss:考虑了batch中整体距离分布的对比损失函数
- AkShare-中国宏观-社会消费品零售总额