传送门 题意:给nnn个A∗BA*BA∗B的矩形,其中每个矩形的四个角被改造成了半径为rrr的四分之一 圆,问这些矩形的凸包周长. 思路:考虑求出圆心的凸包周长然后加上一个整圆的周长,证明很简单,略掉. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; const int N=10005; struct pot{ double x,y; friend inline pot operator+(con…
传送门 题意:动态维护凸包周长. 思路: 见这篇求面积的吧反正都是一个套路. 代码: #include<bits/stdc++.h> #define int long long #define ri register int using namespace std; inline int read(){ int ans=0; bool f=1; char ch=getchar(); while(!isdigit(ch))f^=(ch=='-'),ch=getchar(); while(isdi…
传送门 题意:qqq次询问把一个凸包整体加一个向量(x,y)(x,y)(x,y)之后是否与另外一个凸包相交. 思路:转化一下发现只要会求A+B={v⃗=a⃗+b⃗∣a⃗∈A,b⃗∈B}A+B=\{\vec v=\vec a+\vec b|\vec a\in A,\vec b\in B\}A+B={v=a+b∣a∈A,b∈B}即可,这个要用到一个叫做MinkowskiMinkowskiMinkowski和的东西. 不会的可以画个图,发现最后的向量集组成的凸包每条边都是由A,BA,BA,B中的边拼成…
传送门 题意:动态插入点,维护凸包面积. 思路:用setsetset维护极角序来支持面积查询即可. 然后注意选原点的时候要从初始三个点随机平均系数来避免精度误差. 代码: #include<bits/stdc++.h> #define ri register ll using namespace std; typedef long long ll; inline ll read(){ ll ans=0; bool f=1; char ch=getchar(); while(!isdigit(c…
传送门 题意:给出一个nnn个点的轮廓,要求找一个高度最小的点使得它能够看见所有拐点. 思路:之间建半平面交然后取半平面交上的每个交点和每个轮廓更新答案即可. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; typedef long long ll; const int N=305; struct pot{ double x,y; pot(double _x=0,double _y=0):x(_x…
传送门 题意简述:给一个N个点的凸多边形,求离每一个点最远的点. 思路:先根据初中数学知识证明决策是满足单调性的,然后上分治优化即可. 才不是因为博主懒得写二分+栈优化呢 代码: #include<bits/stdc++.h> #define ri register int using namespace std; inline int read(){ int ans=0; bool f=1; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')…
[BZOJ2829] 信用卡 (凸包) 题面 信用卡是一个矩形,唯四个角做了圆滑处理,使他们都是与矩形两边相切的1/4园,如下图所示,现在平面上有一些规格相同的信用卡,试求其凸包的周长.注意凸包未必是多边形,因为他有可能包含若干段圆弧. 分析 我们发现凸包的圆弧段可以缩成一个圆,然后将直线段向内平移,就可以组成一个多边形 因此对每个卡的四个圆心跑凸包,答案为凸包周长+一个圆的周长 注意四个圆心的计算要用到向量旋转,向量\((x,y)\)逆时针旋转\(\alpha\)(弧度)之后会变成\((x\c…
FFMpeg ver 20160219-git-98a0053 滤镜中英文对照 2016.02.21 by 1CM T.. = Timeline support 支持时间轴 .S. = Slice threading 分段线程 ..C = Command support 支持命令传送 A = Audio input/output 音频 输入/输出 V = Video input/output 视频 输入/输出 N = Dynamic number and/or type of input/out…
http://www.cnblogs.com/xwdreamer/archive/2012/02/21/2360818.html…
2019.3.18 C O D E T1 树上直接贪心,环上for一遍贪心 哇说的简单,码了将近一下午终于码出来了 感觉自己码力/写题策略太糟糕了,先是搞了一个细节太多的写法最后不得不弃疗了,然后第二次思路又有问题,最后重构了两遍代码 大概先是需要多想,想清楚了不要先考虑细节,果断写+调 废话结束 对于入度大于一且不在环上的点直接贪心留最大的 对于一个完美无瑕的环直接断最小的(指没有被环以外的点指着) 对于入度大于一且在环上的点,先假装它就是普通的入度大于一的点来做并记录每个点是否断了环上的边和…
梦想MxWeb3D协同设计平台 2019.02.28更新 SDK开发包下载地址: http://www.mxdraw.com/ndetail_10130.html 在线演示网址: http://www.mxdraw.com:3000/ 1.  编写API CHM帮助文档 2.  增加保存和回退功能 3.  增加图纸搜索位置设置函数,addFileSearchPath 4.  完善绘图函数 5.  优化后台缓存文件大小 6.  优化前后台代码 7.  增加清除函数…
2022.02.21 UB 参考资料: https://zhuanlan.zhihu.com/p/141467895 https://blog.csdn.net/ghscarecrow/article/details/115429174 Step 1 UB定义 在 C/C++ 中,和未定义行为容易混淆的概念有两个,实现定义行为,未指明行为.这里先对这几个概念做一个辨析. 实现定义行为:程序的行为随实现而变动,遵从标准的实现必须为每个这样的行为的效果提供文档.一个例子是 int 在不同环境下的大小…
2022.02.21 SA 当我年少轻狂时,我曾拥有自由,但我并不明白它的意义.我曾拥有时间,但我没有意识到它的珍贵.我曾拥有爱,但我从未用心去体会.数十年的时间考验后,我终于理解了三者的真谛. 我已风烛残年,这种理解已经逐渐变成一种满足.爱,自由和时间,曾一度被我挥霍,而今成为了我前进的动力.而我将最特别的爱,献给最亲爱的你和我们的孩子们,以及刺客联盟的兄弟姐妹们,并献给赋予我们生命的那壮美奇妙,让人产生无限遐想的世界.此爱永恒,Mia Sofia.永远都属于你的--艾吉奥·奥迪托雷.--刺客…
题目描述 输入 输出 样例输入 2 6.0 2.0 0.0 0.0 0.0 0.0 2.0 -2.0 1.5707963268 样例输出 21.66 提示 本样例中的2张信用卡的轮廓在上图中用实线标出,如果视1.5707963268为Pi/2(pi为圆周率),则其凸包的周长为16+4*sqrt(2) 我们先将每个信用卡看成是由四个圆心组成的矩形,那么凸包就是所有圆心形成的凸包.现在每个圆心往外扩展为一个圆,那么就是用凸包来包住所有的圆,而新的凸包的直边部分就是原凸包对应边往外平移得到.对于曲面部…
Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 333  Solved: 155 Description Input Output Sample Input 2 6.0 2.0 0.0 0.0 0.0 0.0 2.0 -2.0 1.5707963268 Sample Output 21.66 HINT 本样例中的2张信用卡的轮廓在上图中用实线标出,如果视1.5707963268为 Pi/2(pi为圆周率),则其凸…
题目描述 输入 输出 样例输入 26.0 2.0 0.00.0 0.0 0.02.0 -2.0 1.5707963268 样例输出 21.66 题解 凸包 傻逼题,答案显然为:所有圆心构成的凸包周长+一个圆的周长.这里求凸包用的方法是求上下两个凸壳再拼起来. 时间复杂度为排序的 $O(n\log n)$ 我才不会告诉你puts("nan:)可以过呢 #include <cmath> #include <cstdio> #include <algorithm>…
凸包题. 我们先把所有信用卡的四个定点的坐标求出来,然后计算凸包长度,最后加上一个圆的周长就行. #include <cstdlib> #include <cstdio> #include <cctype> #include <cstring> #include <cmath> #include <iostream> #include <algorithm> #define rep(i, l, r) for(int i=l…
传送门 题意: 支持插入一个向量,删去某一个现有的向量,查询现有的所有向量与给出的一个向量的点积的最大值. 思路: 考虑线段树分治. 先对于每个向量处理出其有效时间放到线段树上面,然后考虑查询:对于两个已有的向量(u1,v1)(u_1,v_1)(u1​,v1​)和(u2,v2)(u_2,v_2)(u2​,v2​),假设给出的向量为(x0,y0)(x_0,y_0)(x0​,y0​)u1>u2&&(u1,v1)⋅(x0,y0)>(u2,v2)⋅(x0,y0)u_1>u_2\&…
http://hzwer.com/6330.html #include<cstdio> #include<cmath> #include<algorithm> using namespace std; #define N 100001 #define EPS 0.00000001 typedef double db; const db PI=acos(-1.0); struct Point{db x,y;}p[N<<2],bao[N<<2]; b…
LINK:信用卡凸包 当 R==0的时候显然是一个点的旋转 之后再求凸包即可. 这里先说点如何旋转 如果是根据原点旋转的话 经过一个繁杂的推导可以得到一个矩阵. [cosw,-sinw] [sinw,cosw] 这个矩阵就是旋转矩阵 乘一下当前的坐标 [x,y] 就可以得到逆时针旋转w度的答案. 具体的 x'=xcosw-ysinw; y'=xsinw+ycosw. 顺时针转换一下即可.接下来考虑绕某个点进行旋转. 既然已经得到了绕原点旋转的方法了 此时让要旋转点的坐标减参考系的点的坐标 此时就…
学习:https://blog.csdn.net/qq_21334057/article/details/99550805 题意:从nn个点中选择kk个点构成多边形,问期望面积. 题解:如果能够确定两个点,那么可以从这两个点之间选择k−2个点来构成一个k边形.所以可以枚举两个点,计算这两个点被选入构成凸包的概率和对凸包贡献的面积. #include <bits/stdc++.h> #define fopi freopen("in.txt", "r", s…
{- 2017.02.21 <Haskell趣学指南 -- Learning You a Haskell for Great Good!> [官网](http://learnyouahaskell.com) > ghc xxx.hs # 编译文件 > ghci # 进入Haskell解释器 ghci> :l test.hs --载入test.hs文件 ghci> :r --重新载入文件 -} -- ch01 Introduction doubleMe x = x + x…
传送门 题意:现在有nnn个位置,每个位置上有一个值aia_iai​. 要求支持如下两种操作: 区间乘vvv 求区间的(1−ai)(1-a_i)(1−ai​)之积 思路: 考虑转换式子: Ans=∏i=lr(1−ai)=e∑i=lrln(1−ai)Ans=\prod_{i=l}^r(1-a_i)=e^{\sum_{i=l}^rln(1-a_i)}Ans=∏i=lr​(1−ai​)=e∑i=lr​ln(1−ai​) 于是只需维护∑i=lrln(1−ai)\sum_{i=l}^rln(1-a_i)∑…
传送门 数据结构优化计数菜题. 题意简述:给nnn个点问有多少个www型. www型的定义: 由5个不同的点组成,满足x1<x2<x3<x4<x5,x3>x1>x2,x3>x5>x4x_1<x_2<x_3<x_4<x_5,x_3>x_1>x_2,x_3>x_5>x_4x1​<x2​<x3​<x4​<x5​,x3​>x1​>x2​,x3​>x5​>x4​ 思路: 本…
Golang FromXToGo micro - A microservice toolkit Other Easy parsing of Excel spreadsheet format with Swift's Codable protocols Front-End Performance Checklist 2019 [PDF, Apple Pages, MS Word] Questions for a new technology Mobile iOS Performance Trick…
CF-1110 A. Parity 快速幂的思想,考虑最后一位即可 #include <bits/stdc++.h> using namespace std; typedef long long ll; ll b,k; ll a[100010]; int main(){ scanf("%lld%lld",&b,&k); for(int i=0;i<k;i++) scanf("%lld",&a[i]); ll ans = 0;…
meet 大概思路就是 , 找出相交的路径 , 判断方向 , 分类讨论.. 假设已经找出了相交路径 ... 若方向相同 , 则找到相交路径上边权的最大值 , 若最大值>出发时间差 , 则可行. 原因: 由于方向相同所以在相交路径上这两个点的相对距离是不变的,看最大的边权即可. 这个东西用st表就可以搞定 若方向不同,就看看他们相遇的位置是不是相交路径上各个(不一定是最两头的点)边的端点之一. 因为题中说在边上才算 , 点不能算到边上. 所以不在点上就一定会在边上相遇. 然后就是怎么找相交路径了.…
转自:http://blog.csdn.net/iamlazybone/article/details/19612941 声明: <萝莉快跑><喵汪大战>两个demo的原作者bill_man跟骨头联系,希望删除,现已删除链接 然后跟bill_main道个歉,代码不是骨头原创,是网上找的demo 大家转来转去确实不知原作者是谁 骨头只报学习态度不敢邀功 bill_main 见谅:) ===================================================…
开玩笑的啦,没有LFCR这种沙雕东西 为什么突然想起来写这个呢,是因为先前照着shell画llehs的时候,总报错,改正了以后又因为看不见而在上一篇博客上没有写明,所以过来好好写一写咯. 可以看出报错里面出了各种稀奇古怪的东东:无法识别#!bin/sh以及觉得每一行代码后面都多了\r 故事开始于上古时期,那个时期的人们还在用打字机帮助自己不用笔.最早的时候打字机是纯机械不用电的,按下Enter是没有办法让光标挪动到下一行的(事实上那个时候既没有Enter也没有光标啦),需要人们拉一下手柄让传动装…
本阶段我们将了解Python是如何管理内存的,学习内存管理让我们掌握python的运行机制: 并且在python中有许多函数式编程的特性,比如闭包,装饰器和生成器,这些都是一些比较难掌握的概念,但面试会经常遇到. 1.生成器与列表的对照使用 在Python中, 一边循环一边计算的机制, 称为生成器: generator 创建生成器: G = ( x*2 for x in range(5)) 可以通过 next(生成器) 函数获得生成器的下一个返回值 没有更多的元素时, 抛出 StopIterat…