摘要: 题意:平面上n个点(坐标$0\le x,y\le 5000,n \le 3000$) 求以其中四个点为顶点的正方形的最大面积 $O(n^2)$枚举两个点作为当前正方形的对角线 那么如何求出另外两个点呢? 设一个点为$(ax,ay)$,另一个为$(bx,by)$ 所求点$(cx,cy),(dx,dy) 阅读全文
posted @ 2018-09-04 19:56 olinr 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题意:现在有N个城市,其中K个被敌方军团占领了,N个城市间有N-1条公路相连,破坏其中某条公路的代价是已知的, 现在,告诉你K个敌方军团所在的城市,以及所有公路破坏的代价,请你算出花费最少的代价将这K个地方军团互相隔离开; 简单来说,就是把一棵树分成k个联通块,使得每个标记点独在一个联通块的最小删边 阅读全文
posted @ 2018-09-04 18:37 olinr 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题意:求$\sum_{i=1}^a i^b,a,b\le 10^9$ 暴力只有30分QAQ(本数学蒟蒻当然想不到正解啦) 正解:模数很小,不难(?)想到$i^a%10000=(i+b)^a %10000$ 因此只需要预处理$\sum_{i=1}^{10000} i^b$ 之后$10001^b%100 阅读全文
posted @ 2018-09-04 16:02 olinr 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个序列a,求最长子序列b满足$b_i\&b_{i-1}\ne 0$ 思路:类似于最长不下降子序列,以f[i]代表以i为结尾的最长b的长度,$O(n^2)$ 80分(数据水) 正解:以f[i]代表目前为止b序列尾元素二进制第i位为1的长度 那么就简单了 当前状态可以由它二进制所有为1的i转 阅读全文
posted @ 2018-09-04 15:03 olinr 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题意:一个圆,上面有n头牛(卧槽) 给出相邻两头牛顺时针的距离 问两只最远的牛的距离(min(顺时针距离,逆时针距离)) 最远距离一定$\le$距离和/2 先求个前缀和 那么问题转化为:找到 $s_j-s_i<(dis/2)$的最大的$s_j-s_i$ 我们可以发现,只要枚举了i,j,时间复杂度不可 阅读全文
posted @ 2018-09-04 11:57 olinr 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一个初始01矩阵 三种操作 1、给一个x,把第x行01互换 2、给一个x,把第x列01互换 3、求$(\sum_{i=1}^n\sum_{j=1}^nf[i][j]*f[j][i])%2$ $n\le 10^3,q\le 5*10^5$ 暴力是$O(n^2q)$的,很明显过不了 那么应该 阅读全文
posted @ 2018-09-04 11:35 olinr 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题意:问你指定二叉树有几种 1、高度为k 2、节点数为n 3、每个点的度为0或2 爆搜 》30分QAQ 首先,因为每个节点度为0或2, 所以如果n是偶数直接输出0就行了吧(嘿嘿) 如果是奇数呢? 设f[i][j]表示i个节点,高度$\le$j的方案数 那么$ans=f[n][k]-f[n][k-1] 阅读全文
posted @ 2018-09-04 11:03 olinr 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题意:平面内有N头牛$N\le 10$john从(0,0)出发,最后回到(0,0) 只有走到牛那里john才可以改变方向,否则沿着直线走 问john经过每一头牛并且在每一头牛出恰好改变方向一次的方案(牛可以经过多次,但只能改变方向一次) (dfs没写出来) 看到$n\le 10$就容易多了 用nex 阅读全文
posted @ 2018-09-04 10:30 olinr 阅读(199) 评论(1) 推荐(1) 编辑
摘要: 题目:n个人围成一圈传球,传m次,每次传给旁边的人,问从1传m次再回到1的方法数 一看题目,当然是dfs啦(dfs大法好)。。。。50pts 正解DP(不会设状态)设f[i][j]代表传到第i个人,传了j次的方法数 f[1][0]=1; 注意n和1特殊处理(一个圈) 阅读全文
posted @ 2018-09-04 08:31 olinr 阅读(110) 评论(0) 推荐(0) 编辑