BZOJ – 第2页 – Tgotp-Blog

3262: 陌上花开

cdq分治裸题。

c++代码如下:

 

2982: combination

lucas定理模板

c++代码如下:

 

1038: [ZJOI2008]瞭望塔

容易发现:

1.一个点如果能看见面上所有点,那么一定是折线的半平面交内的点。

2.塔一定在半平面交上的交点或者折线交点上。

接下来就是模板题了。

c++代码如下:

 

4552: [Tjoi2016&Heoi2016]排序

对于单独的一个数字可以用线段树搞,那么考虑二分一个数字

最后看q这个位置上数字的大小关系即可

c++代码如下:

 

5436: 三元组

没有限制a <= b <= c的话可以fft搞

限制的话具体见:三元组

c++代码如下:

 

3211: 花神游历各国

水题,容易发现开根很少次数就始终为1了

暴力线段树即可

c++代码如下:

 

1502: [NOI2005]月下柠檬树

容易发现一个平行平面的投影是不会变的,

一个圆柱的投影是两个面的投影+这两个圆的外切线所构成的图形

求出所有外切线再用simpson积分搞搞就行了。

至于求外切线的方法自己推一推,具体见代码。

注意这题是不能删去被包含的圆。

(这代码一开始以为会t,结果竟然过了[......]

Read more

2178: 圆的面积并

因为精度问题,只能特判掉一个点...

直接求出每个坐标的线段长度积分即可...

需要一些优化,特判掉被包含的圆,以及只把横坐标相交的圆放在一组处理

c++代码如下:

 

4916: 神犇和蒟蒻

第一问答案显然为1

第二问化为 \sum_{i=1}^{n}i*\phi_i

考虑杜教筛的一般方法

化为

 \sum_{i=1}^{n} (f*g)(i)

 \sum_{i=1}^{n}\sum_{d|i} f(d)g(\frac{i}{d})[......]

Read more

3551: [ONTAK2010]Peaks加强版

双倍经验。。。

这题是去掉强化版的在线版本

也是noi2018d1t1的强化版qaq

在并查集树上主席树合并即可,查询时用倍增就好了.

详细描述可以参照noi2018d1t1的题解qaq

c++代码如下:

Read more