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 ...
随机推荐
- [Windows]远程管理服务WinRM远程管理Windows服务器 Invalid use of command line. Type "winrm -?" for help.
运行环境 Windows 2012 R2 1. Windows需要打开WinRM服务,Server系统默认打开,默认端口5985 # WinRM服务查看 PS C:\Users\Administrat ...
- c#音乐播放器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- webapi+Quartz.NET解决若干定时程序同时运行的问题
项目现状: 有若干定时程序需要自启动运行,为了简便程序部署等问题,采取这种办法把定时程序集中管理到webapi中跟随api发布 代码架构介绍: 新建一个类库,类库引用Quartz(Quartz.2.3 ...
- VSTO开发指南(VB2013版) 第二章 Office解决方案介绍
实例2.1 通过控制台实现对Excel的自动化处理 书本第32页 注:添加两个引用: 第一个:程序集—框架—“System.Windows.Forms 4.0.0.0”第二个:程序集—扩展—“Micr ...
- iOS开发 - 在SwiftUI中显示模态视图
在SwiftUI中显示模态视图 简介 这里教大家如何弹出一个简单的模态视图.分别有两个页面,ContentView和GCPresentedView,以下对应简称为A和B.我们要做的是在A视图中点击按钮 ...
- AndroidStudio报错:GradleSyncIssues-Could not install Gradle distribution from...
场景 在使用Android Studio 新建 App项目后,编译时提示: GradleSyncIssues-Could not install Gradle distribution from... ...
- 6.python设置代理和添加镜像源介绍
为什么要修改镜像源? 一般使用python安装库,会用到pip install xxx 指令或者conda install xxx指令,因为pip和conda默认国外镜像源,这时会在Python的官方 ...
- spring boot tomcat 部署
前几天springboot项目部署到linux中,整个过程就是个坑啊.踩坑的过程中也学到了许多.spring boot 项目部署时由于其内置了tomcat和jdk,而且还都是8. 所以部署的话就分为两 ...
- java基础--------arraylist(动态数组)和linkedlist(双向链表)的区别
arraylist使用数组存储数据,所以这样存储的数据根据索引查询的数据速度快,但是新增或者删除元素时需要设计到位移操作,所以比较慢. linkedlist使用双向链表方式存储数据,每个元素都记录前后 ...
- set()和get()方法
在很多程序中,都喜欢定义一个privata变量,然后为这个私有变量加上get(),set()方法.那为什么不直接定义一个public变量呢?这样做到底有什么好处和意义呢?难道真的仅仅只是为了代码规范? ...