pku 1177 picture

2023-10-30 10:49
文章标签 picture pku 1177

本文主要是介绍pku 1177 picture,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一道经典的离散化的题目,有论文可以参考。

基本思想,在某个方向进行 映射,将连续的坐标(或其它)离散化,在另一个方向以某种方式做题目所需的统计,包括离散化,线段树式统计或其它。

优化可以考虑映射方式(减少循环),减小坐标范围(优化插入及更新),主要是通过去重。

很可能同时涉及线段树的操作。

这篇关于pku 1177 picture的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/307388

相关文章

POJ 1177

/*扫描线求矩阵的周长交并*/#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define lson (pos<<1)#define rson (pos<<1|1)typedef long long LL;const int ADD = 10005;const int maxn

Plus from Picture

Plus from Picture You have a given picture with size w×hw×h. Determine if the given picture has a single “+” shape or not. A “+” shape is described below: A “+” shape has one center nonempty cell. T

016_Save_the_picture_in_Matlab中保存图片

图片文件 Matlab核心功能包括出图,印刷质量的图片输出是Matlab核心竞争力之一,matplotlib疯狂追赶,但还是差距明显。出图的含义就是:打印或者导出图形窗体的内容,可供后续使用。在Matlab中,这个行为被定义为打印和保存。 相关的函数有三类: 导出 exportgraphics 导出绘图和图形内容(从R2020a开始)copygraphics 复制图形内容到剪贴板(从R202

hdu 1162 Eddy's picture(基础最小生成树)

题目:         连接:点击打开链接 题意:         n个点,是每个点相互连通(直接间接),求最短距离。 思路:         prim()最小生成树。把点的距离存在map中。 代码: #include<iostream>#include<cstdio>#include<cmath>#include<cstring>using namespace std;

HDU 1828 POJ 1177 Picture(线段树+扫描线+离散化)

HDU题目地址:HDU 1828  POJ题目地址:POJ 1177 这题是求周长并,我用的方法可能有点麻烦。。是先求横着的线,再求竖着的线。每次只要求出每次的总区间覆盖长度,然后每次累加这次的总区间覆盖与上次的总区间覆盖长度的差的绝对值。因为只有长度发生变化时,才会产生一段新的周长。 待会再试试只扫描一次的方法。此博客有待更新。 代码如下: #include <iostream>#

POJ 1177 Picture (线段树扫描线)

题意: 给定n个矩形(0 <= n < 5000)的左下角坐标(x1,y1)和右上角坐标(x2,y2)   (-10000 <= x1,x2,y1,y2 <= 10000) 求所有矩形重合后的图形的周长,如下图(图片来自POJ 1177): 做法:线段树扫描线。 由于值域不大,所以不需要离散化,直接将Y值向正方向平移10001个单位,然后用线段树直接做。 扫描线就是用垂直于x轴的线

PKU Campus 2011 B A Problem about Tree lca倍增

B:A Problem about Tree 总时间限制:  1000ms  内存限制:  65536kB 描述 Given a tree with Nvertices and N- 1 edges, you are to answer Qqueries on "which vertex isY's parent if we choose Xas the ro

poj1177--Picture--扫描线

思想和前段时间的1151差不多, 都是通过扫描线的移动来计算周长,不同的是要通过对与x轴平行的扫描线扫一次,与y轴平行的扫描线扫一次, 扫描两次得到周长。 变量last为记录上一次扫描得到的长度,sum为记录这一次总共扫描得到的长度。 abs(sum-last)即为所扫描到的一次长度, 非常耐人寻味的是,我询问学长为什么可以这样做的时候,学长提到了一个投影的

【位运算】【前缀和】个人练习-Leetcode-1177. Can Make Palindrome from Substring

题目链接:https://leetcode.cn/problems/can-make-palindrome-from-substring/description/ 题目大意:给出一个字符串s,每次query给出l, r, k,要求判断子串s[l:r+1]在经过k次操作后是否能变为回文串。一次操作可以将子串内的一个字符变为任意一个其他字符。并且子串顺序可以任意改变。 思路:因为有很多query,

Hud 1162 Eddy's picture[MST(kruscal)]

题目链接:点击打开链接 还是很基础的最小生成树 #include<cstdio>#include<algorithm>#include<cmath>using namespace std;const int N=105;const int Max=5005;int n,top,father[N];struct Point{double x,y;}point[N];str