http://acm.hdu.edu.cn/showproblem.php?pid=6627

题意:解绝对值方程并统计解的个数。

解法:签到题,直接模拟小学数学学的零点分段法即可。(数据多直接cin,cout会T,还以为是算法有问题...

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5+;
ll s1[maxn],s2[maxn]; struct node{
ll a,b;
double s;
}g[maxn]; bool cmp(node p,node q){
return p.s>q.s;
} struct note{
ll x,y;
double s;
}v[maxn]; bool cmp1(note p1,note q1){
return p1.s<q1.s;
} map<double,int> ma; int main(){
ios::sync_with_stdio();
cin.tie();
cout.tie();
int t;
cin>>t;
ll n,c;
while(t--){
int cnt = ;
ma.clear();
cin>>n>>c;
for(ll i=;i<=n;i++){
cin>>g[i].a>>g[i].b;
g[i].s = -1.0*g[i].b/g[i].a;
}
sort(g+,g+n+,cmp);
s1[] = ; s2[] = ;
for(ll i=;i<=n;i++){
s1[i] = s1[i-]+g[i].a;
s2[i] = s2[i-]+g[i].b;
}
int flag = ;
for(ll i=;i<=n;i++){
ll a1 = s1[n]-*s1[i];
ll a2 = s2[n]-*s2[i];
ll s = c-a2; //a1*x=s
if(a1==&&s==){
flag = ;
break;
}
else if(a1==){
continue;
}
else {
ll num1 = abs(s);
ll num2 = abs(a1);
ll gcd = __gcd(num1,num2);
double ss = (double)s/a1;
if((i==n||ss>g[i+].s)&&(i==||ss<=g[i].s)){
if(ma[ss]==){
ma[ss]++;
v[cnt].x = s/gcd;
v[cnt].y = a1/gcd;
v[cnt].s = ss;
cnt++;
}
}
}
}
if(flag==){
cout<<-<<endl;
}
else{
cout<<cnt;
sort(v,v+cnt,cmp1);
for(ll i=;i<cnt;i++){
if(v[i].x*v[i].y>){
cout<<' '<<abs(v[i].x)<<'/'<<abs(v[i].y);
}
else if(v[i].x*v[i].y==){
cout<<' '<<"0/1";
}
else {
cout<<" -"<<abs(v[i].x)<<'/'<<abs(v[i].y);
}
}
cout<<endl;
}
}
return ;
}

杭电多校 hdu6627 equation的更多相关文章

  1. 可持久化线段树的学习(区间第k大和查询历史版本的数据)(杭电多校赛第二场1011)

    以前我们学习了线段树可以知道,线段树的每一个节点都储存的是一段区间,所以线段树可以做简单的区间查询,更改等简单的操作. 而后面再做有些题目,就可能会碰到一种回退的操作.这里的回退是指回到未做各种操作之 ...

  2. 2018 Multi-University Training Contest 1 杭电多校第一场

    抱着可能杭电的多校1比牛客的多校1更恐怖的想法 看到三道签到题 幸福的都快哭出来了好吗 1001  Maximum Multiple(hdoj 6298) 链接:http://acm.hdu.edu. ...

  3. 2018 Multi-University Training Contest 9 杭电多校第九场 (有坑待补)

    咕咕咕了太久  多校博客直接从第三场跳到了第九场orz 见谅见谅(会补的!) 明明最后看下来是dp场 但是硬生生被我们做成了组合数专场…… 听说jls把我们用组合数做的题都用dp来了遍 这里只放了用组 ...

  4. 2018 Multi-University Training Contest 2 杭电多校第二场

    开始逐渐习惯被多校虐orz  菜是原罪 1004  Game    (hdoj 6312) 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6312 虽然披着 ...

  5. 2019杭电多校&CCPC网络赛&大一总结

    多校结束了, 网络赛结束了.发现自己还是太菜了,多校基本就是爆零和签到徘徊,第一次打这种高强度的比赛, 全英文,知识点又很广,充分暴露了自己菜的事实,发现数学还是很重要的.还是要多刷题,少玩游戏. 网 ...

  6. HDU 4941 Magical Forest(map映射+二分查找)杭电多校训练赛第七场1007

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4941 解题报告:给你一个n*m的矩阵,矩阵的一些方格中有水果,每个水果有一个能量值,现在有三种操作,第 ...

  7. HDU 4902 Nice boat 2014杭电多校训练赛第四场F题(线段树区间更新)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4902 解题报告:输入一个序列,然后有q次操作,操作有两种,第一种是把区间 (l,r) 变成x,第二种是 ...

  8. HDU 5831 Rikka with Parenthesis II (贪心) -2016杭电多校联合第8场

    题目:传送门. 题意:T组数据,每组给定一个长度n,随后给定一个长度为n的字符串,字符串只包含'('或')',随后交换其中两个位置,必须交换一次也只能交换一次,问能否构成一个合法的括号匹配,就是()( ...

  9. HDU 5821 Ball (贪心排序) -2016杭电多校联合第8场

    题目:传送门. 题意:T组数据,每组给定一个n一个m,在给定两个长度为n的数组a和b,再给定m次操作,每次给定l和r,每次可以把[l,r]的数进行任意调换位置,问能否在转换后使得a数组变成b数组. 题 ...

随机推荐

  1. 【iOS】安装 CocoaPods

    1. 打开 terminal 2. 移除现有 Ruby 默认源 $ gem sources --remove https://rubygems.org/ 3. 使用新的源 $ gem sources ...

  2. HashMap常见面试题整理

    花了三天时间来仔细阅读hashMap的源码,期间补了下不少数据结构的知识,刷了不少相关的面试题并进行了整理 1.谈一下HashMap的特性? 1.HashMap存储键值对实现快速存取,允许为null. ...

  3. 5.源码分析---SOFARPC调用服务

    我们这一次来接着上一篇文章<4. 源码分析---SOFARPC服务端暴露>讲一下服务暴露之后被客户端调用之后服务端是怎么返回数据的. 示例我们还是和上篇文章一样使用一样的bolt协议来讲: ...

  4. Linux基础文件类型

    一.文件时间 ls -l 文件名 仅看的是文件的修改时间 [root@linux ~]# ls -l /etc/passwd -rw-r--r-- root root 5月 : /etc/passwd ...

  5. 十分钟带你看一遍ES6新特性

    let , const关键字 var 看习惯了java, 看js真的是忍不住想笑,比如说这个var,它太自由了,自由到{}根本限制不住它的生命周期 js的var关键字,无论在何处声明,都会被视为声明在 ...

  6. kubernetes CRD开发指南

    扩展kubernetes两个最常用最需要掌握的东西:自定义资源CRD 和 adminsion webhook, 本文教你如何十分钟掌握CRD开发. kubernetes允许用户自定义自己的资源对象,就 ...

  7. Linux下,为应用程序添加桌面图标(ubuntu18.4)

    一.桌面图标位置 Lniux下桌面图标储存路径为:/usr/share/applications 二.桌面图标格式 所有桌面图标格式均为desktop,即名为XXX.desktop 三.编辑内容(常用 ...

  8. Hibernate 框架

    首先,我们先来了解一下什么是 Hibernate 框架. 什么是 Hibernate 框架? Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO ...

  9. 安装CUDA9.0及对应版本的tensorflow-gpu详细过程(Windows server 2012R2版本也可以)

    由于最近跑机器学习相关代码的时候CPU运算速度跟不上,这才利用GPU来运算代码,显然使用GPU来运算速度明显要快很多,但是搭配GPU的使用环境是真的麻烦且头疼.网上有很多牛人的搭建过程,虽然他们都成功 ...

  10. iView 实现可编辑表格

    create at: 2019-02-20 组件 <i-table highlight-row ref="currentRowTable" :columns="co ...