1828专题

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

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

HUD 1828 Picture 矩形周长/线段树

题意:求重叠矩形的周长。 题解:枚举x区间时要注意求出, y 轴投影的线段数量。 即对应一个 x 有多少段不连续的线段,因为这关系的矩形的宽。 对 x 进行排列要记得入边在前,出边在后,否则边相交的两个矩形,就会把重边也计算在内。 #include <cmath>#include <algorithm>#include <iostream>using namespace std;#

#堆优化dijkstra#洛谷 1828 jzoj 1287 codevs 2038 ssl 1693 香甜的黄油

题目 有 n n n个点,求每个点的单源最短路径的最短和 分析 其实跑 n n n遍 s p f a spfa spfa或 d i j k s t r a dijkstra dijkstra堆优化就行了 代码 #include <cstdio>#include <queue>struct node{int y,w,next;}e[2901];int n,m,dis[801]

Leetcode—1828. 统计一个圆中点的数目【中等】

2024每日刷题(一零五) Leetcode—1828. 统计一个圆中点的数目 实现代码 class Solution {public:vector<int> countPoints(vector<vector<int>>& points, vector<vector<int>>& queries) {vector<int> ans;for(auto& q: queries) {int