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 ...
随机推荐
- Linux 查看CPU、内存、机器型号等硬件信息
# 查看CPU信息 #查看CPU信息(型号) [root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 32 ...
- 管理 使用 FastDFS
启动管理tracker: 1. 启动文件+配置文件+命令 /usr/bin/fdfs_trackerd <config_file> [start | stop | restart] 举例: ...
- php页面传递参数值几种方法总结
2013-06-06 18:02 (分类:) 又搞了一个学期的php,就这样吧. php是一种服务器的脚本语言,他也是现在最为流行的WEB开发语言,下面我们来讲述一下几种上在php开发应用中常用的四种 ...
- codewars--js--Reverse or rotate?----es6变量,箭头函数,正则取块
问题描述: 对输入的str按照sz个数进行分块,若一块内所有数字的立方和是偶数,则倒序:否则,向左移动一位.然后将修改过的块整合到一个字符串,作为输出. The input is a string s ...
- html基本介绍,了解html与css,html语法和结构
一般来说,制作自己第一个网页通常书写的文字是"hello world!你好,全世界",代码如下展示: <!DOCTYPE html> <html lang=&qu ...
- leaflet结合turf.js实现多边形分割(附源码下载)
前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...
- ELK学习002:Elasticsearch 7.x 的安装及配置
Elasticsearch 的安装与启动 1.1 下载 Elasticsearch 7.6.0 下载地址:https://www.elastic.co/cn/downloads/elasticsear ...
- visual studio 2019:error c2760
笔者在敲书上的练习题时(完全按照书上代码,没有语法错误),报"error c2760"错误. 代码出错位置(代码并没有问题): 在网上查找了一下,发现"c2760&quo ...
- html网页基本概念
什么是网页?html文档经过浏览器内核渲染后展示出来的页面(五大主流浏览器及四大内核) html文档文件名后缀是.html,之前存在的.htm是为支持DOM系统(目前织梦还是用.htm文件名结尾文件) ...
- LINUX系统(CentOS7安装)一之JDK8的安装
JDK 的安装系统安装就不做过多介绍,大家从网上寻找安装步骤进行安装,不过我推荐大家进行安装时选择桌面图形化格式进行安装,方便做一部分操作,同时在安装过程中选择英文模式,同时我自己在安装的过程中发现使 ...