##问题描述 w*h的格子画了n条或垂直或水平宽度为1的直线,求出这些格子被划分成了多少个4连块(上、下、左、右连通)。 ##思路 挑战程序竞赛里面的题目,很容易想到的坐标离散化。因为直接搜索的话,我们可以想到有很多的空白行会造成我们资源的浪费。所以我们会直观的产生一种压缩的思想,去离散化出来一个等 ...
分类:
其他好文 时间:
2020-06-13 01:01:32
阅读次数:
80
排序、去重与离散化 1. 排序 1.1 快速排序 1. 快速排序 #include <bits/stdc++.h> using namespace std; const int N = 1000010; int q[N]; void quick_sort(int q[], int l, int r) ...
分类:
编程语言 时间:
2020-06-08 11:03:33
阅读次数:
68
题目链接 考虑将每个矩形看做两次操作,分别是在$Y$轴上叠加线段和去除线段。按$X$坐标排序后依次访问扫过。 注意:本题中,坐标表示的是直角坐标系的整点坐标,也即我们计算的是连续的面积,不过这里矩形都是水平的。 那么离散化一波,每个离散点表示到它的后继之间的线段。 考虑使用线段树,维护“覆盖计数”和 ...
分类:
其他好文 时间:
2020-05-27 22:01:47
阅读次数:
80
假定有一个无限长的数轴,数轴上每个坐标上的数都是0。 现在,我们首先进行 n 次操作,每次操作将某一位置x上的数加c。 接下来,进行 m 次询问,每个询问包含两个整数l和r,你需要求出在区间[l, r]之间的所有数的和。 输入格式 第一行包含两个整数n和m。 接下来 n 行,每行包含两个整数x和c。 ...
分类:
其他好文 时间:
2020-05-25 17:47:21
阅读次数:
69
题目描述:n个点有速度,有位置,问所有的点对最小距离之和为多少 解法1:离散化 + 树状数组 基本上做出来的都是用的这个方法,不多介绍,看代码吧 #include<bits/stdc++.h> using namespace std; const int maxn=200010; const int ...
分类:
其他好文 时间:
2020-05-19 20:12:18
阅读次数:
70
https://www.luogu.com.cn/problem/P4168 https://loj.ac/problem/6285 区间众数查询。 解法一 莫队,但是蒲公英有加密操作。 解法二 分块。 离散化+块内二分。 将每一个数出现的位置塞进一个 vector,排序,在面对整块时选择一手二分。 ...
分类:
其他好文 时间:
2020-05-16 18:31:16
阅读次数:
52
前言:主要记录,在推荐系统利用FFM模型,进行CTR预估的时候,离散化特征需要嵌入,field之间的特征交叉是怎么计算的?记录了数据流动的每一个过程。 FMM是在FM的基础上改进的,理论部分未作过多解释。(内容有不足之处,请大家指正批评) 参考:github:pytorch-fm 一、公式: FFM ...
分类:
其他好文 时间:
2020-05-04 15:13:08
阅读次数:
94
/* 离线读入所有值后离散化 题意要求的是,sum{ ai*2^(i-1)*aj*2^(n-j) } 分析这个式子,考虑进行分治 区间[l,r]的 sum{ ai*2^(i-l)*aj*2^(r-j) } 可以将式子分成 ai*2^(i-l) 和 aj*2^(r-j)两部分看, 线段树维护四个值,s ...
分类:
其他好文 时间:
2020-05-03 18:47:51
阅读次数:
60
"Increasing Speed Limite HDU 3030" 题意 给你一个长度为m的数组A,你可以通过给的X,Y,Z计算获得一个长度为n的数组,问你这个n长的序列有多少个非空严格上升序列。 思路 dp $dp[i]$: 以第i个元素为结尾的非空严格上升序列个数 $dp[i] =\sum_{ ...
分类:
编程语言 时间:
2020-05-01 20:50:27
阅读次数:
68
题目大意 题解 秒了,~~然后因为没开ll调了一个上午顺便叉掉了两份标~~ 把每个点看做(s到其的最短路,t到其的最短路),等同于在坐标系上有一些点,每次把xy轴向上移,贡献为新扫到的点 离散化,设f\[i]\[j]表示先手扫到i,后手扫到j之后的最大差值,设g表示最小差值 然后用前缀和转移一下即可 ...
分类:
其他好文 时间:
2020-05-01 16:58:24
阅读次数:
72