Codeforces ECR52 div2翻车记
A:签到。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define ll long long
int t,a,b,c,d;
int main()
{
t=read();
while (t--)
{
a=read(),b=read(),c=read(),d=read();
cout<<a/d+1ll*a/d/b*c<<endl;
}
return ;
}
B:long long。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 100010
long long n,m;
int main()
{
cin>>n>>m;
cout<<max(n-m*,0ll)<<' ';
for (long long i=;i<=n;i++) if (i*(i-)/>=m) {cout<<n-i;break;}
return ;
}
C:从大到小排序后贪心地修改。我猜我是唯一一个C花掉的时间比D多的。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 200010
int n,m,a[N],ans=;
int main()
{
n=read(),m=read();
for (int i=;i<=n;i++) a[i]=read();
sort(a+,a+n+);reverse(a+,a+n+);
for (int i=;a[i]!=a[n];)
{
int t=i;long long tot=;
while (t<n&&tot+1ll*(a[t]-a[t+])*t<=m) tot+=(a[t]-a[t+])*t,t++;
ans++;
i=t;a[i]-=(m-tot)/t;
}
cout<<ans;
return ;
}
D:做法非常显然,每个位置拆点跑个最短路然后大力dp就行了,码农题。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 12
int n,f[N*N][],g[N*N][],dis[N*N*][N*N*],dis2[N*N*][N*N*];
struct data{int x,y;
}a[N*N];
int wx[]={,,-,-,,,-,-},wy[]={,-,,-,,-,,-};
int trans(int p,int x,int y){return p*n*n+(x-)*n+y;}
void getdis()
{
memset(dis,,sizeof(dis));memset(dis2,,sizeof(dis2));
for (int i=;i<=n;i++)
for (int j=;j<=n;j++)
for (int x=;x<=n;x++)
for (int y=;y<=n;y++)
if (i==x||j==y) dis[trans(,i,j)][trans(,x,y)]=,dis2[trans(,i,j)][trans(,x,y)]=;
for (int i=;i<=n;i++)
for (int j=;j<=n;j++)
for (int k=;k<;k++)
if (i+wx[k]>=&&j+wy[k]>=&&i+wx[k]<=n&&j+wy[k]<=n)
dis[trans(,i,j)][trans(,i+wx[k],j+wy[k])]=,dis2[trans(,i,j)][trans(,i+wx[k],j+wy[k])]=;
for (int i=;i<=n;i++)
for (int j=;j<=n;j++)
for (int x=;x<=n;x++)
for (int y=;y<=n;y++)
if (i+j==x+y||i-j==x-y) dis[trans(,i,j)][trans(,x,y)]=,dis2[trans(,i,j)][trans(,x,y)]=;
for (int i=;i<=n;i++)
for (int j=;j<=n;j++)
for (int x=;x<;x++)
for (int y=;y<;y++)
dis[trans(x,i,j)][trans(y,i,j)]=dis2[trans(x,i,j)][trans(y,i,j)]=(x!=y);
for (int k=;k<=*n*n;k++)
for (int i=;i<=*n*n;i++)
for (int j=;j<=*n*n;j++)
if (dis[i][k]+dis[k][j]<dis[i][j]||dis[i][k]+dis[k][j]==dis[i][j]&&dis2[i][k]+dis2[k][j]<dis2[i][j])
dis[i][j]=dis[i][k]+dis[k][j],dis2[i][j]=dis2[i][k]+dis2[k][j];
}
void update(int i,int p)
{
for (int j=;j<;j++)
if (f[i-][j]+dis[trans(j,a[i-].x,a[i-].y)][trans(p,a[i].x,a[i].y)]<f[i][p]||
f[i-][j]+dis[trans(j,a[i-].x,a[i-].y)][trans(p,a[i].x,a[i].y)]==f[i][p]
&&g[i-][j]+dis2[trans(j,a[i-].x,a[i-].y)][trans(p,a[i].x,a[i].y)]<g[i][p])
f[i][p]=f[i-][j]+dis[trans(j,a[i-].x,a[i-].y)][trans(p,a[i].x,a[i].y)],
g[i][p]=g[i-][j]+dis2[trans(j,a[i-].x,a[i-].y)][trans(p,a[i].x,a[i].y)];
}
int main()
{
n=read();
for (int i=;i<=n;i++)
for (int j=;j<=n;j++)
{
int x=read();
a[x].x=i,a[x].y=j;
}
getdis();
memset(f,,sizeof(f));memset(g,,sizeof(g));
f[][]=f[][]=f[][]=g[][]=g[][]=g[][]=;
for (int i=;i<=n*n;i++)
update(i,),update(i,),update(i,);
int x=;
if (f[n*n][]<f[n*n][]||f[n*n][]==f[n*n][]&&g[n*n][]<g[n*n][]) x=;
if (f[n*n][]<f[n*n][x]||f[n*n][]==f[n*n][x]&&g[n*n][]<g[n*n][x]) x=;
cout<<f[n*n][x]<<' '<<g[n*n][x];
return ;
}
然后就并没有时间看题了。不过E是置换并没有真的学过那大概也不算翻车了。
upd:于是就发现F是个傻逼题。将所有边连上缩个点dp一发即可。
result:rank 217 rating +7 迷之稳定。
Codeforces ECR52 div2翻车记的更多相关文章
- Codeforces #180 div2 C Parity Game
// Codeforces #180 div2 C Parity Game // // 这个问题的意思被摄物体没有解释 // // 这个主题是如此的狠一点(对我来说,),不多说了这 // // 解决问 ...
- Codeforces #541 (Div2) - E. String Multiplication(动态规划)
Problem Codeforces #541 (Div2) - E. String Multiplication Time Limit: 2000 mSec Problem Descriptio ...
- Codeforces #541 (Div2) - F. Asya And Kittens(并查集+链表)
Problem Codeforces #541 (Div2) - F. Asya And Kittens Time Limit: 2000 mSec Problem Description Inp ...
- Codeforces #541 (Div2) - D. Gourmet choice(拓扑排序+并查集)
Problem Codeforces #541 (Div2) - D. Gourmet choice Time Limit: 2000 mSec Problem Description Input ...
- Codeforces #548 (Div2) - D.Steps to One(概率dp+数论)
Problem Codeforces #548 (Div2) - D.Steps to One Time Limit: 2000 mSec Problem Description Input Th ...
- A · F · O —— JLOI2018翻车记(附Day1简要题解)
JLOI2018翻车记 并不知道该怎么写... 算了还是按照标准剧情来吧 这应该是一篇写得非常差的流水账... 2018.04.04 Day -1 省选前在机房的最后一天. 压力并不是很大,毕竟联赛 ...
- 行车记+翻车记:.NET Core 新车改造,C# 节能降耗,docker swarm 重回赛道
非常抱歉,10:00~10:30 左右博客站点出现故障,给您带来麻烦了,请您谅解. 故障原因与博文中谈到的部署变更有关,但背后的问题变得非常复杂,复杂到我们都在怀疑与阿里云服务器 CPU 特性有关. ...
- 【Codeforces #312 div2 A】Lala Land and Apple Trees
# [Codeforces #312 div2 A]Lala Land and Apple Trees 首先,此题的大意是在一条坐标轴上,有\(n\)个点,每个点的权值为\(a_{i}\),第一次从原 ...
- Codeforces Round#500 Div.2 翻车记
A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...
随机推荐
- 【BZOJ3611】大工程(虚树,动态规划)
[BZOJ3611]大工程(虚树,动态规划) 题面 BZOJ Description 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道. 我们这个国家位置非常特殊,可以看成是一个单位边权的树 ...
- DBoW2 词袋模型笔记
DBoW算法用于解决Place Recognition问题,ORB-SLAM,VINS-Mono等SLAM系统中的闭环检测模块均采用了该算法.来源于西班牙的Juan D. Tardos课题组. 主要是 ...
- 《绝地求生大逃杀》BE错误怎么办 BE服务未正常运行及安装失败解决方法
<绝地求生大逃杀>BattlEye Launcher是游戏的反作弊程序,也是启动过程中做容易出现错误的,今天小编带来“爆锤吧务”分享的<绝地求生大逃杀>BE服务未正常运行及安装 ...
- Nginx+Tomcat多站点访问默认主页问题-狒狒完美解决-Q9715234
<Engine name="Catalina" defaultHost="www.abc.com"> <Host name="www ...
- ubuntu 14.04 lts LAMP配置
一.目标 创建服务器环境,主要包括:Apache2.4.7 serverPHP 5.5.9Mysql 5.5.49扩展:MemcacheMcrypt 二.准备工作 1.服务器系统版本 Ubuntu s ...
- String、StringBuffer、StringBuilder的区别和解析
1.三个类之间的关系 他们都是通过字符数组来实现的,继承关系 String:字符串常量,不可变类 StringBuffer:字符串变量,可变类,线程安全 StringBuilder:字符串变量,可变类 ...
- 接口测试工具postman(八)上传文件接口
涉及到选择文件的接口,在[Body]页签下,key选择File选项,会显示“选择文件”按钮,选择本地的文件
- Linux命令应用大词典-第38章 网络命令
38.1 traceroute:显示跟踪到网络主机的路由数据包 38.2 mli-tool:查看.操纵网络接口状态 38.3 ifconfig:显示和配置网络接口 38.4 ifdown:关闭网络接口 ...
- mysql新手入门随笔4
40.子查询:出现在其他SQL语句里的SELECT语句 例如:SELECT sname,mark FROM student WHERE mark = (SELECT max(mark) FROM st ...
- flask源码走读
Flask-Origin 源码版本 一直想好好理一下flask的实现,这个项目有Flask 0.1版本源码并加了注解,挺清晰明了的,我在其基础上完成了对Werkzeug的理解部分,大家如果想深入学习的 ...