D. Zero Quantity Maximization(hash+map)
题意:就是让c=a*x+b,给你一个a[],b[],让你尽可能多的让c[]=0,输出有多少。
思路:直接令c=0,则x=-b/a, 也就是一条直线,通过这样就用hash值使相同的k值映射到一起,使用了map<long double , int>,这样就直接映射了。
让我吐血的是,这个还有特殊情况,a=0&&b=0, 注意b绝对不能在a不为0的情况下为0,至于为什么看原式。
#include<iostream>
#include<map>
using namespace std; #define ll long double map<ll, int>ss;
const long long mod = 1e17 + ;
const int maxn = 2e5+; int a[maxn], b[maxn];
int n, maxx; int gcd(int a, int b){ return b == ? a : gcd(b, a%b); }
int ans;
int main(){
cin >> n;
for (int i = ; i <= n; ++i)
{
cin >> a[i];
}
for (int i = ; i <= n; ++i)
cin >> b[i]; for (int i = ; i <= n; ++i){
if (a[i] == ){ ans += (b[i] == ); continue; }
int d = gcd(a[i], b[i]);
a[i] /= d; b[i] /= d;
ss[a[i] * 1.0 / b[i]]++;
} for (map<ll, int>::iterator it = ss.begin(); it != ss.end(); ++it){
if (it->second > maxx)maxx = it->second;
}
cout << maxx+ans << endl;
}
D. Zero Quantity Maximization(hash+map)的更多相关文章
- 哈希表(Hash Map)
		今天第一次做Leetcode用到了散列表,之前学的数据结构的内容都忘了,正好趁热打铁补一补. 摘自其他博客的一个整合. 一.哈希表简介 数据结构的物理存储结构只有两种:顺序存储结构和链式存储结构(像栈 ... 
- (hash map)Two Sum, sorted(排序+双指针)closest,小于或大于的对数,组成不同的对数
		原版 sorted [抄题]: [思维问题]: 存sum - nums[i](补集),若出现第二次则调出 [一句话思路]: hashmap中,重要的数值当做key,角标当做value. [画图]: [ ... 
- hdu 4622 (hash+“map”)
		题目链接:https://vjudge.net/problem/HDU-4622 题意:给定t组字符串每组m条询问--求问每条询问区间内有多少不同的子串. 题解:把每个询问区间的字符串hash一下存图 ... 
- 【TOJ 1912】487-3279(hash+map)
		描述 Businesses like to have memorable telephone numbers. One way to make a telephone number memorable ... 
- 哈希表(Hash Table)/散列表(Key-Value)
		目录 1. 哈希表的基本思想 2. 哈希表的相关基本概念 1.概念: 2.哈希表和哈希函数的标准定义: 1)冲突: 2)安全避免冲突的条件: 3)冲突不可能完全避免 4)影响冲突的因素 3. 哈希表的 ... 
- Berkeley DB的数据存储结构——哈希表(Hash Table)、B树(BTree)、队列(Queue)、记录号(Recno)
		Berkeley DB的数据存储结构 BDB支持四种数据存储结构及相应算法,官方称为访问方法(Access Method),分别是哈希表(Hash Table).B树(BTree).队列(Queue) ... 
- 【Unity Shader】六、使用法线贴图(Normal Map)的Shader
		学习资料: http://www.sikiedu.com/course/37/task/456/show# http://www.sikiedu.com/course/37/task/458/show ... 
- 数据结构(四十二)散列表查找(Hash Table)
		一.散列表查找的基础知识 1.散列表查找的定义 散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key).查找时,根据这个确定的对应关系找到 ... 
- 数据结构 -- 哈希表(hash table)
		简介 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函 ... 
随机推荐
- Atom插件安装及推荐
			简介(了解更多去google或baidu) Atom 代码编辑器支持 Windows.Mac.Linux 三大桌面平台,完全免费,并且已经在 GitHub 上开放了全部的源代码.在经过一段长时间的迭代 ... 
- IP 协议
			在网络层中,使用的是 ip 协议,它规定网络地址的协议. ip 地址分为两个部分: 网络部分:标识子网 主机部分:标识主机 子网掩码 表示子网络特征的一个参数,它规定 网络部分全部为1,主机部分全部为 ... 
- 用js实现超链接导航菜单点击切换选中时的状态
			项目中使用到点解导航切换不同的颜色,如果只是li选项卡还好办,这次用到的超链接选项卡,因为a链接每次点击都会刷新,所以浏览器记不住点击的状态,也没法切换点击状态,因为项目中有好多地方要用到,在网上找了 ... 
- ngx-moment汉化
			1.导入汉化文件 import '../../../node_modules/moment/locale/zh-cn.js' 2.使用汉化 <span>{{item.time|amLoca ... 
- git 入门教程之协同开发
			前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协同开发的基础,也是代码备份的 ... 
- canvas代替imgage,可以有效的提高大图片加载的速度!
			//加载zepto插件 <script> //定义图片的数量 var total = 17; //获取屏幕的宽度 var zWin = $(window); //定义渲染图片的方法 var ... 
- EasyUI动画效果
			1.jQuery动画效果 a)基本效果 >show(speed),显示 >hide(speed),隐藏 >toggle(speed),切换 b)滑动的效果 >slideUp(s ... 
- Python之__new__方法
			# -*- coding: utf-8 -*- """ Created on Sun Dec 2 11:03:03 2018 Python类构造过程 @author: z ... 
- 语句调优基础知识-set statistics time on
			set statistics time on --清空缓存数据 dbcc dropcleanbuffers go --清空缓存计划 dbcc freeproccache go set statisti ... 
- Java线程相关的热门面试题
			---恢复内容开始--- 下面是Java线程相关的热门面试题,你可以用它来好好准备面试. 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序 ... 
