[hdoj4614]Vases and Flowers

Vases and Flowers 题意 Alice去一排$n$的花盆中种花,有两种操作 从$a$开始种花,如果该花盆有花就跳到下一个花盆。直到没有花种或者到了$n$盆 $[a,b]$区间的所有花都扔掉。 ...

September 7, 2018 · 1 min · CheaSim

[hdoj5521]Meeting

Meeting 题意 将图分成$m$个块,每个块中的点到块中点的需要的时间为$E_i$。Bessie在点1,Elsie在点$n$,问他们在最短的时间走到可以到哪一个点会和。点可以在不同的块中。 ...

September 6, 2018 · 1 min · CheaSim

[kuangbin带你飞13]基础计算几何

[kuangbin带你飞13]基础计算几何 https://www.cheasim.com/uncategorized/2018/09/06/kuangbin%E5%B8%A6%E4%BD%A0%E9%A3%9E13-%E5%9F%BA%E7%A1%80%E8%AE%A1%E7%AE%97%E5%87%A0%E4%BD%95.html 作者 CheaSim 发布于 2018-09-06 更新于 2018-09-06 许可协议

September 6, 2018 · 1 min · CheaSim

[kuangbin带你飞7]线段树

kuangbin带你飞7 前言 作为一名acm选手,不能连线段树都不会,练就完事了。而且我越发觉得在赛场上不能卡机,中档题才是区分牌子的题目。只有慢慢思索的题目才能真正地提高自己,立下一个flag,每十天完成一个kuangbin专题。现在时间9/6。必须在9/16完成这个线段树专题,就算是困死也得完成。 ...

September 6, 2018 · 5 min · CheaSim

[nowcoder3]补题向

J.Coloring Tree 题意 给一棵树,每个节点从$[1,k]$选择一种颜色染。定义树的颜色值为两个相同颜色节点之间的最小值。问如果一棵树的颜色值为$D$,那么它有多少种染色方式。 ...

September 5, 2018 · 1 min · CheaSim

计算几何模板

J .Distance to work 题意 懒得看了 题解 计算几何。 扒一扒dls的板子 typedef const inline inline struct db x, y; P() {} P(db _x, db _y) : x(_x), y(_y) {} P operator P operator P operator P operator bool int if return } bool return } db dot db det db distTo db alpha void void db abs db abs2 P rot90 P unit int P rot }; struct P ps[2 L() {} L(P p1,P p2) { ps[0 P& operator P dir bool L push const P delta = (ps[1 return } }; #define #define bool db a1 = cross(q1, q2, p1), a2 = -cross(q1, q2, p2); return } P isLL db a1 = cross(q1, q2, p1), a2 = -cross(q1, q2, p2); return } P isLL bool if return } bool return crossOp(p1,p2,q1) * crossOp(p1,p2,q2) 0 } return } vector int sort(ps.begin(), ps.end()); vector for while for while qs.resize(k - 1 return } vector //caution: need to unique the Ps first int sort(ps.begin(), ps.end()); vector for while for while qs.resize(k - 1 return } db convexDiameter int int int db ret = ps[i].distTo(ps[j]); do if (++j)%=n; else (++i)%=n; ret = max(ret,ps[i].distTo(ps[j])); }while return } vector vector int rep(i,0 P p1 = ps[i], p2 = ps[(i+1 int if if } return } //min_dist db min_dist if db ret = 1e100 rep(i,l,r) rep(j,l,i) ret = min(ret,ps[i].distTo(ps[j])); return } int db ret = min(min_dist(ps,l,m),min_dist(ps,m,r)); vector sort(qs.begin(), qs.end(),[](P a,P b) -> bool rep(i,1 ret = min(ret,qs[i].distTo(qs[j])); return } int db d = o1.distTo(o2); if if if if return } vector db x = (p1-o).dot(p2-p1), y = (p2-p1).abs2(), d = x * x - y * ((p1-o).abs2() - r*r); if d = max(d,0.0 return } vector db d = o1.distTo(o2); if if d = min(d, r1 + r2); db y = (r1 * r1 + d * d - r2 * r2) / (2 P dr = (o2 - o1).unit(); P q1 = o1 + dr * y, q2 = dr.rot90() * x; return } vector db x = (p - o).abs2(), d = x - r * r; if P q1 = o + (p - o) * (r * r / x); P q2 = (p - o).rot90() * (r * sqrt return } vector vector if P dr = (o2 - o1).unit().rot90() * r1; ret.pb(L(o1 + dr, o2 + dr)), ret.pb(L(o1 - dr, o2 - dr)); } else P p = (o2 * r1 - o1 * r2) / (r1 - r2); vector rep(i,0 } return } vector vector P p = (o1 * r2 + o2 * r1) / (r1 + r2); vector rep(i,0 return } db areaCT vector if bool if if sign((p1-is[0 return else } if if return } bool bool bool if return } else return } } bool if return } else return } } bool return } vector sort(l.begin(), l.end()); deque for if while while q.push_back(l[i]); } while while vector for return } P inCenter double return } P circumCenter P bb = b - a, cc = c - a; double return } P othroCenter P ba = b - a, ca = c - a, bc = b - c; double A = ca.x * ba.y - ba.x * ca.y, x0 = (Y + ca.x * ba.y * b.x - ba.x * ca.y * c.x) / A, y0 = -ba.x * (x0 - c.x) / ba.y + ca.y; return } AC代码(别人家的模板。) #include using #define const const const const // Compares a double to zero int if if return else return } // square of a double inline return } /* 15 * Point 16 * Point() - Empty constructor 17 * Point(double _x,double _y) - constructor 18 * input() - double input 19 * output() - %.2f output 20 * operator == - compares x and y 21 * operator 作者 CheaSim 发布于 2018-09-05 更新于 2018-09-05 许可协议 #[计算几何](/tags/%E8%AE%A1%E7%AE%97%E5%87%A0%E4%BD%95/)

September 5, 2018 · 2 min · CheaSim

2018 ICPC南京赛区网络赛

ACM-ICPC 2018 南京赛区网络预赛 A. An Olympian Math Problem 题意 $S=1×1!+2×2!+⋯+(n - 1) \times (n-1)!(n−1)×(n−1)!$问$Smodn$是多少。 题解 思维题,打表题?答案就是$n-1$证明如下。 ...

September 3, 2018 · 3 min · CheaSim

web应用开发笔记

web应用开发 现代人的生活方式 移动端,mobile 浏览器,browser 10年前还是以客户端,client软件形式。 两个主流技术 .Net J2ee .Net过气了,用J2ee J2ee的三个方面 M 模型:负责数据方面的事情,数据分为两个方面,store存储,access访问。依靠模型完成这个功能。 承载数据。 ...

September 3, 2018 · 3 min · CheaSim

回文树学习笔记

回文树学习笔记 神奇的数据结构 Palindromic Tree 回文树 功能简介 求一个串$S$中$[0,i]$中本质不同回文串的个数 求串$S$中每一个本质不同回文串出现的次数 求指定下标$i$结尾的回文串的个数 变量简介 $len[i]$表示编号为$i$节点所表示的回文串的$len$。 ...

September 3, 2018 · 1 min · CheaSim

Codeforces Round #499 (Div. 2)

Codeforces Round #499 (Div. 2)](http://codeforces.com/contest/1011) A. Stages 题意 给定一段序列,每个字母代表这一个权值,比如$a$代表$1$。之后问从中挑选出一个序列,要求$a[i]$和$a[i+1]$之间相隔一个字母,问从任意顺序选择$k$个字母,最少可以有多少权值。 ...

September 2, 2018 · 1 min · CheaSim