[HIHO1223]不等式(离散化,枚举)】的更多相关文章

题目链接:http://hihocoder.com/problemset/problem/1223 这题不难,难点在于小数的处理.可以0.5为步长枚举,也可以扩大偶数倍枚举. /* ━━━━━┒ギリギリ♂ eye! ┓┏┓┏┓┃キリキリ♂ mind! ┛┗┛┗┛┃\○/ ┓┏┓┏┓┃ / ┛┗┛┗┛┃ノ) ┓┏┓┏┓┃ ┛┗┛┗┛┃ ┓┏┓┏┓┃ ┛┗┛┗┛┃ ┓┏┓┏┓┃ ┛┗┛┗┛┃ ┓┏┓┏┓┃ ┃┃┃┃┃┃ ┻┻┻┻┻┻ */ #include <algorithm> #include…
codeforces1183F 有技巧的暴力 传送门:https://codeforces.com/contest/1183/problem/F 题意: 给你n个数,要你从中选出最多三个数,使得三个数x,y,z互不相等,x,y,z之和最大是多少 题解: n到了2e5,并且有q组数据,所以我们这里需要有技巧的枚举 因为最多只能选取三个数 我们就可以分类讨论 选取一个数 那么这个数一定是最大的那个数 选取两个数 那么这个两个数互不为约数 选取三个数和选取两个数同理 我们将数组排序离散化后,从大到小的…
题目传送门 题意:有若干线段,问是否存在一条直线,所有线段投影到直线上时至少有一个公共点 分析:有一个很好的解题报告:二维平面上线段与直线位置关系的判定.首先原问题可以转换为是否存在一条直线与所有线段相交,然后可以离散化枚举通过枚举端点来枚举直线,再用叉积判断直线和线段是否相交.用到了叉积 /************************************************ * Author :Running_Time * Created Time :2015/10/23 星期五…
离散化   枚举行  扫描横坐标 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define inf 0x7fffffff using namespace std; struct cc { int x,y,val; }; cc pp[1010]; int k,line[1010],x[1010],cur; int _max,_min; int ma…
/* 二分答案(注意精度) 对于每一个答案 有(s1+s2+s3...)/(t1+t2+t3...)>=ans 时符合条件 这时ans有变大的空间 对于上述不等式如果枚举每一条路显得太暴力 化简一下变成 :s1-t1*ans+s2-t2*ans+s3-t3*ans...>=0 差分约束跑最长路 如果dis[n]>0 或者有正环 (开始这个忘掉了)ans就合法 */ #include<iostream> #include<cstdio> #include<cs…
0 写在前面 本文受 NaVi_Awson 的启发,甚至一些地方直接引用,在此说明. 1 数论 1.0 gcd 1.0.0 gcd $gcd(a,b) = gcd(b,a\;mod\;b)$ 证明:设 $c\mid a$,$c\mid b$,则 $c\mid (b-a)$. 设 $c\nmid a$,则 $c$ 不是 $a,b-a$ 的公因子. 设 $c\mid a$,$c\nmid b$,则 $c$ 不是 $a,b-a$ 的公因子. int gcd(int a,int b){ if(!b) r…
题意 小 \(\mathrm{C}\) 很喜欢二维染色问题,这天他拿来了一个 \(w × h\) 的二维平面 , 初始时均为白色 . 然后他在上面设置了 \(n\) 个关键点 \((X_i , Y_i)\) , 对于每个关键点他会选择进行下列操作的一个 : 将 \(x > X_i\) 的部分染成黑色. 将 \(x < X_i\) 的部分染成黑色. 将 \(y > Y_i\) 的部分染成黑色. 将 \(y < Y_i\) 的部分染成黑色. 现在让你 , 最大化所有操作结束之后白色部分…
什么是后缀数组 后缀数组\(sa[i]\)表示字符串中字典序排名为\(i\)的后缀位置 \(rk[i]\)表示字符串中第\(i\)个后缀的字典序排名 举个例子: ababa a b a b a rk:3 5 2 4 1 sa: 5(a) 3(aba) 1(ababa) 4(ba) 2(baba) 那么就有\(sa[rk[i]]=rk[sa[i]]=i\) 后缀数组的求法 二周目 倍增法 看一会儿还是比较好记的 但没有理解每句话是在干什么的话以后再写就会没有思路 因此这里简述一下基本过程和一些关键…
因为这题考虑可以观察一个性质,答案的下界为 \(2×(max(w,h)+1)\), 因为你至少可以空出一行或一列,因此这个矩形一定会经过 \(x=\frac{w}{2}\) 或 \(y=\frac{h}{2}\) . 先考虑经过 \(\frac{w}{2}\) 的情况 , 另一种情况是一样的. 先将坐标离散化.枚举矩形的上边界 \(yR\) ,对于每一个下边界 \(yL\) , 我们可以计算出矩形的最优左边界 \(xL=min\{Xi|Yi\in[yL,yR],Xi>\frac{w}{2}\}\…
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 把a[i]处理成前缀和 离散化. 枚举i从1..n假设a[i]是区间和的a[r] 显然我们需要找到a[r]-a[l]<t的l的个数 即a[r]<t+a[l] 那么我们处理完每个i之后,每次把a[i]+t加入到树状数组中去. 每次以进入i的时候,找到比a[r]大的a[l]+t的个数就好(用树状数组求和即可) [代码] #include <bits/stdc++.h> #define ll long long using nam…