Codeforces Round #614 (Div. 2) D
变色失败 只加8分 距离变色只差5分 B题没想到那么简单,结论秒猜,不敢交,傻傻验证5分钟。
C题也想了码了好一会儿,我动态维护set做的。
1小时3题,整体难度好像没以前那么大了?(虽然也不强,但比以前好不少了......
难道是我变强了?(逃
补了个D,真是傻逼题(指我sb
倍数至少是2,所以至多60几次肯定到上限了。
然后这里处理有个细节,之前我一直是乘的来计算这些坐标的,当他>2e16结束,实际上我总感觉有可能存在溢出这样的bug。虽然这里似乎没有?
看了标程和rk1的代码,学到了这里处理用除法反过来判断有无达到上限,就不会有溢出的问题了。值得学一下。
主要是对于曼哈顿距离的理解还是太浅了,亏我还一个一个的走,思维真是抱歉。
从一个点 连续经过一系列点 再到另一个点的距离其实就是两端点的曼哈顿距离,直接通过平移就可以看出来。
手稿上图都画了都没看出来,zdsb。实际上我想的假算法还在一个点一个点的走 (ε=ε=ε=┏(゜ロ゜;)┛
然后随便怎么做了。这里n很小,所以复杂度很宽,怎么做都行。
三重循环枚举最先到的点,左端点,右端点。很容易理解。
然后因为最先到的点以后,实际上也要继续往左端点或者右端点走,所以标程直接二重循环枚举左右端点,取起点到二者中更小的加上必经之路的左右之间的全部距离。
#include <bits/stdc++.h>
#ifndef ONLINE_JUDGE
#define debug(x) cout << #x << ": " << x << endl
#else
#define debug(x)
#endif
using namespace std;
typedef long long ll;
const int MAXN=2e5+7;
const int INF=0x3f3f3f3f;
const int MOD=1e9+7; int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
ll x0,y0,ax,ay,bx,by;
cin>>x0>>y0>>ax>>ay>>bx>>by;
ll xs,ys,t;
cin>>xs>>ys>>t; vector<ll>x(1,x0),y(1,y0);
ll lim=(1ll<<62)-1;
while( (lim-bx)/ax>=x.back() && (lim-by)/ay>=y.back())
{
x.push_back(x.back()*ax+bx);
y.push_back(y.back()*ay+by);
}
int cnt=x.size();
int ans=0;
for(int i=0;i<cnt;++i)
{
for(int j=i;j<cnt;++j)
{
ll len=x[j]-x[i]+y[j]-y[i];
ll distl=abs(xs-x[i])+abs(ys-y[i]);
ll distr=abs(xs-x[j])+abs(ys-y[j]);
if(len<=t-distl || len<=t-distr) ans=max(ans,j-i+1);
}
}
cout<<ans<<endl;
return 0;
}
变色?
下次一定?
Codeforces Round #614 (Div. 2) D的更多相关文章
- Codeforces Round #614 (Div. 2) C - NEKO's Maze Game
题目链接:http://codeforces.com/contest/1293/problem/C 题目:给定一个 2*n的地图,初始地图没有岩浆,都可以走, 给定q个询问,每个询问给定一个点(x,y ...
- Codeforces Round #614 (Div. 2) A-E简要题解
链接:https://codeforces.com/contest/1293 A. ConneR and the A.R.C. Markland-N 题意:略 思路:上下枚举1000次扫一遍,比较一下 ...
- Codeforces Round #614 (Div. 2)E(思维,构造,DP)
构造边权,从0开始给边赋值,初始选取一条边权为0,每次赋值的贡献为这一条链两侧的结点(包含链的端点)个数之积,下一次赋值以当前链其一端点续一条边,边权为上次赋的值+1.先DFS找到点的组合这条链两侧结 ...
- Codeforces Round #614 (Div. 1) A. NEKO's Maze Game (思维,模拟)
题意:有一个\(2\)X\(n\)的矩阵,你想从\((1,1)\)走到\((2,n)\),每次可以向上下左右四个方向走,但在某些时间段某个点会被堵住,如果已经被堵住,那么即恢复正常,每次对某个点操作, ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
随机推荐
- python常用模块集合
python常用模块集合 Python自定义模块 python collections模块/系列 Python 常用模块-json/pickle序列化/反序列化 python 常用模块os系统接口 p ...
- k8s系列---kubectl基础
kubectl get pods 查看所有pods kubectl get services 查看services kubectl replace --filename=myweb-rc.ya ...
- 交换机 路由器 防火墙asa 安全访问、配置 方式
这里交换机 路由器 暂时统称为 网络设备 我们一般管理网络设备采用的几种方法 一般来说,可以用5种方式来设置路由器: 1. Console口接终端或运行终端仿真软件的微机(第一次配置要使用此方式) ...
- linux文件系统相关命令(df/du/fsck/dumpe2fs)
一.文件系统查看命令df 格式 df [选项] [挂载点] 选项 名称 作用 -a 显示所有的文件系统信息,包括特殊文件系统,如/proc,/sysfs -h 使用习惯单位显示容量,如KB,MB或GB ...
- SQL Server等待事件—PAGEIOLATCH_EX
什么是PAGEIOLATCH_EX等待事件? 下面我们将对PAGEIOLATCH_EX等待事件的相关资料做一个简单的归纳.整理.关于PAGEIOLATCH_EX,官方文档的简单介绍如下: PAGEIO ...
- RabbitMQ安装(发生系统错误5。拒绝访问。发生系统错误1067。进程意外终止。)
RabbitMQ安装步骤(windows) 1.RabbitMQ建立在强大的Erlang OTP平台上,因此我们首先需要安装Erlang. 2.接下来安装RabbitMQ服务rabbitmq-serv ...
- 面向对象+闭包+三种对象的声明方式(字面式、new Object、构造函数、工厂模式、原型模式、混合模式)
面向对象: 对代码的一种抽象,对外统一提供调用接口的编程思想 对象的属性:事物自身拥有的东西 对象的方法:事物的功能 对象:事物的一个实例 对象的原型:.prototype -> 内存地址 -& ...
- Mac-App Store 购买过程中出错 请求超时
打开终端 输入下面命令回车: defaults delete com.apple.appstore.commerce Storefront 接上步骤,继续输入下面命令回车: defaults writ ...
- Python 编程入门(4):变量与赋值
以下所有例子都基于最新版本的 Python,为了便于消化,每一篇都尽量短小精悍,希望你能尽力去掌握 Python 编程的「概念」,可以的话去动手试一下这些例子(就算目前还没完全搞懂),加深理解. 经过 ...
- [Linux] git add时的注意事项
git add -A 提交所有变化 git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) git add . 提交新文件(new)和被修改( ...