CF #623 div.2
序
话说,总有人认为我是黑别人电脑的(雾??其实,我不黑电脑,我黑手机。
T1
此题巨水,比较四个面积就就好了。。
/* make by ltao */
#include <iostream>
#include <cstdio>
#include <stack>
#include <queue>
#include <deque>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>
#include <list>
#include <map>
#include <time.h>
#include <cmath>
#include <math.h>
#include <fstream>
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
#define inf 1e6
#define sz 666666
#define fake int
#define re return
#define get() getchar()
using namespace std;
int read(){
int x=0;bool f=0;
char ch=get();
while(ch<'0'||ch>'9'){
if(ch=='-') f=1;
ch=get();
}
while(ch<='9'&&ch>='0'){
x=(x<<1)+(x<<3)+(ch-'0');
ch=get();
}
re f?-x:x;
}
int t,a,b,x,y;
int main(){
//freopen("EE.in","r",stdin);
t=read();
while(t--){
a=read();b=read();x=read();y=read();
printf("%d\n",max(max((a-x-1)*b,(x)*b),max((b-y-1)*a,y*a)));
}
re 0;
}
至于我为什么把 那个 return define 成了 re ,这是一种信仰吧。
T2
此题做法显然,但是,最好判一下最后是不是单独一个。。
/* make by ltao */
#include <iostream>
#include <cstdio>
#include <stack>
#include <queue>
#include <deque>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>
#include <list>
#include <map>
#include <time.h>
#include <cmath>
#include <math.h>
#include <fstream>
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
#define inf 1e6
#define sz 666666
#define fake int
#define re return
#define get() getchar()
using namespace std;
int read(){
int x=0;bool f=0;
char ch=get();
while(ch<'0'||ch>'9'){
if(ch=='-') f=1;
ch=get();
}
while(ch<='9'&&ch>='0'){
x=(x<<1)+(x<<3)+(ch-'0');
ch=get();
}
re f?-x:x;
}
const int Maxn=1e5+11;
int t,a,b,cc,cnt;
struct Node{
int l,r;//l 闭 ,r开
char d;
}aa[Maxn];
char c[Maxn];
int main(){
// freopen("EE.in","r",stdin);
t=read();
while(t--){
a=read();b=read();cc=read();cnt=0;
scanf("%s",c+1);
int len=strlen(c+1);
int last=1;
for(int i=2;i<=len;i++){
if(c[i]!=c[i-1]){
aa[++cnt].d=c[i-1];
aa[cnt].l=last;aa[cnt].r=i;
last=i;
}
}
aa[++cnt].d=c[len];
aa[cnt].l=last;aa[cnt].r=len+1;
int s=0,ind=len;
for(int i=(aa[cnt].l==len)?cnt-1:cnt;i>=1;i--){
s+=aa[i].d=='A'?a:b;
if(s>cc) break;
ind=aa[i].l;
}
printf("%d\n",ind);
}
re 0;
}
T3
此题做法真是(雾,因为我看到了他的 \(\sum n=100\) ,然后因为信仰打了爆搜,考场的时候过了,,然后,再测就 TLE
然后,事实上有贪心的想法,而且是成立的。。其实有道理
/* make by ltao */
#include <iostream>
#include <cstdio>
#include <stack>
#include <queue>
#include <deque>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>
#include <list>
#include <map>
#include <time.h>
#include <cmath>
#include <math.h>
#include <fstream>
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
#define inf 1e6
#define sz 666666
#define fake int
#define re return
#define get() getchar()
using namespace std;
int read(){
int x=0;bool f=0;
char ch=get();
while(ch<'0'||ch>'9'){
if(ch=='-') f=1;
ch=get();
}
while(ch<='9'&&ch>='0'){
x=(x<<1)+(x<<3)+(ch-'0');
ch=get();
}
re f?-x:x;
}
const int Maxn=1e3+11;
int t,b[Maxn],a[Maxn*2],n;
bool f,flag[Maxn];
void solve(){
for(int i=1;i<=n;++i){
bool f=0;
for(int j=a[2*i-1]+1;j<=2*n;++j)if(!flag[j]){
a[2*i]=j;
flag[j]=1;
f=1;break;
}
if(!f){
printf("-1\n");return;
}
}
for(int i=1;i<=2*n;++i)printf("%d ",a[i]);
printf("\n");
}
int main(){
//freopen("EE.in","r",stdin);
t=read();
while(t--){
memset(flag,0,sizeof flag);f=0;
n=read();
for(int i=1;i<=n;i++) {
b[i]=read();
flag[b[i]]=1;
a[i*2-1]=b[i];
}
if(!flag[1]||flag[n*2]){
printf("-1\n");
continue;
}
solve();
}
re 0;
}
T4
此题真是太心酸了。
其实,用贪心的想法,做好堆就好了。。其实是大根堆。。。
#include<cstdio>
#include <iostream>
#include<algorithm>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
const int MAXN=200010;
int n;
ll totw,ans;
struct Node{
int num,w;
}a[MAXN];
bool cmp(Node x,Node y){
if(x.num!=y.num)return x.num<y.num;
else return x.w>y.w;
}
int main(){
// freopen("EE.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;++i)scanf("%d",&a[i].num);
for(int i=1;i<=n;++i)scanf("%d",&a[i].w);
sort(a+1,a+n+1,cmp);
priority_queue<int> q;
for(int i=2;i<=n;++i){
if(a[i-1].num==a[i].num){
totw+=a[i].w;//记录同一位置的总和
q.push(a[i].w);
}
else{
for(int p=a[i-1].num+1;totw>0&&p<=a[i].num-1;++p){
ans+=totw;
totw-=q.top();q.pop();
}
ans+=totw;
if(totw>0&&a[i].w<q.top()){
totw-=q.top();q.pop();
totw+=a[i].w;q.push(a[i].w);
}
}
}
while(totw>0){
ans+=totw;
totw-=q.top();q.pop();
}
printf("%lld\n",ans);
return 0;
}
嵬
这几次成绩不好的原因
- 实力太弱
- 缺乏分析
- 没有想法
所以,oi之路漫漫,吾将上下而求索
CF #623 div.2的更多相关文章
- CF #376 (Div. 2) C. dfs
1.CF #376 (Div. 2) C. Socks dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...
- CF #375 (Div. 2) D. bfs
1.CF #375 (Div. 2) D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...
- CF #374 (Div. 2) D. 贪心,优先队列或set
1.CF #374 (Div. 2) D. Maxim and Array 2.总结:按绝对值最小贪心下去即可 3.题意:对n个数进行+x或-x的k次操作,要使操作之后的n个数乘积最小. (1)优 ...
- CF #374 (Div. 2) C. Journey dp
1.CF #374 (Div. 2) C. Journey 2.总结:好题,这一道题,WA,MLE,TLE,RE,各种姿势都来了一遍.. 3.题意:有向无环图,找出第1个点到第n个点的一条路径 ...
- CF #371 (Div. 2) C、map标记
1.CF #371 (Div. 2) C. Sonya and Queries map应用,也可用trie 2.总结:一开始直接用数组遍历,果断T了一发 题意:t个数,奇变1,偶变0,然后与问的 ...
- CF #365 (Div. 2) D - Mishka and Interesting sum 离线树状数组
题目链接:CF #365 (Div. 2) D - Mishka and Interesting sum 题意:给出n个数和m个询问,(1 ≤ n, m ≤ 1 000 000) ,问在每个区间里所有 ...
- CF #365 (Div. 2) D - Mishka and Interesting sum 离线树状数组(转)
转载自:http://www.cnblogs.com/icode-girl/p/5744409.html 题目链接:CF #365 (Div. 2) D - Mishka and Interestin ...
- CF round 623 Div.1D Tourism 题解
题目链接:https://codeforces.com/contest/1314/problem/D 大意: \(n\) 个顶点的有向图,顶点编号为 \(1\) 到 \(n\),任意两个不同的顶点 \ ...
- CF#138 div 1 A. Bracket Sequence
[#138 div 1 A. Bracket Sequence] [原题] A. Bracket Sequence time limit per test 2 seconds memory limit ...
随机推荐
- Web自动化测试项目(二)BasePage实现
一.BasePage介绍 创建一个BasePage类,对Selenium Api进行二次封装 为了快速创建项目并投产,用到的Selenium Api才进行封装,没用到的则不封装 优先封装最重要的几个方 ...
- Informatica9.5.1创建资源库出错找不到libpmora8.so
错误信息: Database driver event...Error occurred loading library [libclntsh.so.10.1: cannot open shared ...
- 五、Django学习之基于对象的跨表查询
五.Django学习之基于对象的跨表查询 正向与反向查询 关键在于ForeignKey字段写的位置.例如下面这段代码, 关系属性(字段)写在哪个类(表)里面,从当前类(表)的数据去查询它关联类(表)的 ...
- 严重 [RMI TCP Connection(3)-127.0.0.1]
学习Servlet时碰到的一个bug. Connected to server [2017-01-08 04:40:33,100] Artifact jspRun:war exploded: Arti ...
- LUAMD5加密
md5里的方法: C:\Windows\System32>lua Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio > require( ...
- mplayer使用心得[转]
一直在用mplayer,其他的播放器很少用.以下是我使用过程中的一些心得. 注意,下面用的路径都是在我的电脑上的路径,使用时请不要照抄!应该换成你的电脑上的正确路径. 一.首先还是讲安装方面的问题 ...
- GORM入门指南
gorm是一个使用Go语言编写的ORM框架.它文档齐全,对开发者友好,支持主流数据库. gorm介绍 Github GORM 中文官方网站内含十分齐全的中文文档,有了它你甚至不需要再继续向下阅读本文. ...
- oracle安装异常汇总
. 运行 ./runInstaller 安装界面出现乱码问题 解决方案: export NLS_LANG=AMERICAN_AMERICA.UTF8 export LC_ALL=C .运行 ./run ...
- Wannafly挑战赛5 A珂朵莉与宇宙 前缀和+枚举平方数
Wannafly挑战赛5 A珂朵莉与宇宙 前缀和+枚举平方数 题目描述 给你一个长为n的序列a,有n*(n+1)/2个子区间,问这些子区间里面和为完全平方数的子区间个数 输入描述: 第一行一个数n 第 ...
- 《自拍教程16》cmd的常用技巧
cmd.exe是Windows 自带的命令行操作交互界面软件. 虽然功能有限,但是毕竟是默认的命令行操作交互界面软件. 肯定所有的电脑都是自带的. 当然现在已经有很多改良版的,交互体验更好的cmd类似 ...