关闭

[二分 几何] BZOJ 2289 【POJ Challenge】圆,圆,圆

%%%fhq http://fanhq666.blog.163.com/blog/static/81943426201131691852787/ 这题的算法:二分相交部分的横坐标。 用一条直线x=x0和所有圆计算交点,如果有的圆不和它相交,易知交集和直线的左右关系。 如果所有圆和直线的相交的部分的交集非空,那么输出yes。 如果某两个圆和直线的相交部分不相交,那么这两个圆的交点...
阅读(305) 评论(0)

[原根 指标 模方程 BSGS] BZOJ 1420 Discrete Root & BZOJ 1319 Sgu261Discrete Roots

求个指标 解个方程就好了 #include #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; typedef long long ll; typedef pair abcd; inline char nc() { static c...
阅读(226) 评论(0)

[线段树 Treap] BZOJ 2770 YY的Treap

hzwer: 首先询问的两个点的key是一个区间 则lca的key是在这个区间内pri最小的 那么就变成了维护一个集合 支持查询区间最值,加入删除元素 #include #include #include #include using namespace std; typedef long long ll; inline char nc() { static char b...
阅读(223) 评论(0)

[AC自动机 概率DP 矩阵乘法||高斯消元] BZOJ 1444 [Jsoi2009]有趣的游戏

AC自动机建转移矩阵  然后 要么矩阵乘法 无限迭代 数据范围小可以接受 #include #include #include #include using namespace std; typedef long double ld; //typedef double ld; inline char nc() { static char buf[100000],*p1=buf,*...
阅读(302) 评论(0)

[贪心] BZOJ 3410 [Usaco2009 Dec]Selfish Grazing 自私的食草者

题目大意:取尽量多的区间 两两交为空 按照右端点排序然后贪心。因为右端点小显然接下来可以取更多的区间 #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+frea...
阅读(170) 评论(0)

[AC自动机 DP] BZOJ 1030 [JSOI2007] 文本生成器

AC自动机上DP 算模板题吧 #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { ...
阅读(118) 评论(0)

[AC自动机 fail树 树状数组] BZOJ 2434 [NOI2011] 阿狸的打字机

PoPoQQQ:http://blog.csdn.net/popoqqq/article/details/41518097 fail树不难想 看到两个条件马上想到树套树 汗 后来发现可以离线 树状数组 #include #include #include #include using namespace std; inline char nc() { static char bu...
阅读(155) 评论(0)

[AC自动机 fail树 || 后缀数组] BZOJ 3172 [Tjoi2013]单词

只有我一个人觉得题意看不懂么 fail树的做法 首先我们将给出的n个串构建AC自动机 朴素的做法是对于每个串将这个串每个节点沿着fail指针扫一遍,将路径上的所有点的cnt++ 但是这样做会TLE 我们不妨反向思考 fail指针反向后是一棵树 沿着fail指针扫一遍就是沿着树边向根扫一遍 只在插入时将每个串的每个节点cnt++ 那么每个串终点所在fail...
阅读(129) 评论(0)

[AC自动机模板题] HDU 2222 Keywords Search

模板题 考前复习 #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1...
阅读(117) 评论(0)

[Contest] UOJ NOI Round #1

笔试 背背背 Day1 [线段树 单调栈] UNR #1 争夺圣杯 [期望DP] UNR #1 合唱队形 Day2 [构造] UNR #1 Jakarta Skyscrapers [下界最小流] UNR #1 奇怪的线段树 [主席树区间覆盖 线段树] UNR #1 火车管理...
阅读(209) 评论(0)

[主席树区间覆盖 线段树] UNR #1 火车管理

火车管理 我们可以建立一颗可持久化线段树,维护每个铁路每个时间的栈顶的吨位和栈顶火车的入栈时间。 我们再维护一颗线段树用来统计答案。 于是操作就显得很简单了: 区间询问:直接在答案线段树里询问即可。 区间压数:在可持久化线段树上进行区间覆盖,这个是十分基础的数据结构技巧,然后在答案线段树上修改一下。 区间弹数:由于我们记录了入栈时间,所以我们删完后用...
阅读(146) 评论(0)

[下界最小流] UNR #1 奇怪的线段树

奇怪的线段树 考试时硬是没想出怎么最小流建图 #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) #define inf 1<<30 using namespace std; inline char nc() { static char buf[100000...
阅读(179) 评论(0)

[构造] UNR #1 Jakarta Skyscrapers

Jakarta Skyscrapers 被绍一的神犇们教导了 可以发现c肯定是Gcd的倍数 那么可以先用倍增模拟取模算出gcd 然后用gcd倍增出c 考试时没特判c>a && c>b 爆炸 20分 #include #include #include #include using namespace std; typedef long long ll; typedef ...
阅读(119) 评论(0)

[线段树 单调栈] UNR #1 争夺圣杯

争夺圣杯 用单调栈求出left right 可以发现每个点的贡献是关于left right的分段函数 然后就是分段函数累加求和 当时打的线段树 看了题解涨姿势了 可以差分 做到O(n) #include #include #include using namespace std; typedef pair abcd; typedef long long ll; inline...
阅读(260) 评论(0)

[暴力] HDU 4473 Exam

abc #include #include #include using namespace std; const double eps(1e-8); typedef long long ll; ll n,ans; int main() { freopen("t.in","r",stdin); freopen("t.out","w",stdo...
阅读(250) 评论(0)

[Tarjan缩点 拓扑序DP] SRM 499 1000pts

题目大意 题解: #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,...
阅读(124) 评论(0)

[Splay模拟 线段树 || Splay || LCT] HDU 4942 Game on S♂play

做法颇多 算法一 形式化地描述要进行什么操作。 旋转节点:link/cut 。 更改两个点的子树和:单点修改。 询问一个点子树内子树和的积:子树询问。 可以在LCT上维护轻儿子信息(小Toptree),这样就可以子树询问 了。轻重边切换的时候顺便维护这个。 复杂度O(n log n),期望得分70 - 100分。 算法二 子树询问的是积,具有可减性。 可以转化...
阅读(413) 评论(0)

[可并堆] BZOJ 3011 [Usaco2012 Dec]Running Away From the Barn

复习下可并堆  想知道还有没有别的做法 #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100...
阅读(109) 评论(0)

[大数GCD Stein算法] BZOJ 1876 [SDOI2009]SuperGCD

懒得写高精 python水过 a=(int)(input()) b=(int)(input()) while b!=0: t=a a=b b=t%b print a Stein 算法  只有减法和位移 a=(int)(input()) b=(int)(input()) c=0 while (a!=0 and b!=0): x=a&...
阅读(464) 评论(0)

[数学 九余数定理] HDU 1163 Eddy's digital Roots

一个数的各位数字之和想加后得到的 一个数对九取余后的结果为它的九余数。 证明 乱来好了  A%9 =(an*10^n+a(n-1)*10^(n-1)+……+a1*10^1+a0)%9 =(an*(10^n-1+1)+a(n-1)*(10^(n-1)-1+1)+……+a1*(10^1-1+1)+a0)%9 =(an+a(n-1)+……+a1+a0)%9 #include...
阅读(113) 评论(0)
76条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:264084次
    • 积分:11943
    • 等级:
    • 排名:第1328名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:50条
    最新评论