上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 42 下一页
摘要: 题意:给n个数,可以进行两种操作:给区间[l,r]每个数开方向下取整;算区间[l,r]的和。 思路:我们可以知道,一个数一直开方下去,就会变成0或者1,然后就不会变了。那么当一个区间只剩0或1时,就不用进行操作了。那么直接分块,然后搞一个flag判断一下是否变成0。稍微优化一下。 代码: 阅读全文
posted @ 2019-05-22 00:10 KirinSB 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一棵树,给出每条边的权值,现在给出m个询问,要你每次输出u~v的最短路径中,边权 <= k 的边有几条 思路:当时网络赛的时候没学过主席树,现在补上。先树上建主席树,然后把边权交给子节点,然后数量就变成了 u + v - lca * 2。专题里那道算点权的应该算原题吧。1A = =,强行做 阅读全文
posted @ 2019-05-20 23:04 KirinSB 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题意:给出两行,每一行都有n个数组,一共有2 * n个,大小为1~n,每个有两个。现在可以进行操作:拿出一个物品i,然后放到一个空格,花费i。可以任意平移物品,平移没有花费。每一行空间无限。要求你把一样的数字要放在相邻位置,即1 1放一起,2 2放一起...问你你所有拿出的物品的最大花费max{ i 阅读全文
posted @ 2019-05-16 22:16 KirinSB 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个有向图,有些点是煤,有些点是铁,但不会同时有铁和煤。现在我要从1出发,占领可以到达的点。问最少占领几个点能同时拥有一个煤和一个铁(1不用占领)。 思路:思路很秀啊。我们从1往外bfs,得到所有点到1的最短路dis[i][0],然后从所有煤跑bfs得到所有点到煤的最短路dis[i][1], 阅读全文
posted @ 2019-05-16 20:32 KirinSB 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 题意:n*m的地,从有高地和低地,从高地走到低地或者从低地走到高地花费a,把高地和低地互相改造一次花费b。现在要走遍每一行每一列,问最小花费 思路:超级源点连接所有低地,容量b;所有地向四周建边,容量a;高地连接超级汇点,容量b。假如sum(a) > b,那么流出b,即这个地改造;假如sum(a) 阅读全文
posted @ 2019-05-14 22:40 KirinSB 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题意:给一有向图,如果A指向B,则A是B的上级。一直i要升职那么他的上级必须都升职。现在给你一个升职人数的区间[a, b],问你升职a人时几个人必被升职,b时几个人必升职,b时几个人没有可能被升职。 思路:打比赛的时候一直想怎么做才能一个dfs直接打出一个节点的所有子节点数,发现总是弄不出来。结果这 阅读全文
posted @ 2019-05-09 23:43 KirinSB 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题意:给个最多500 * 500的平面,有半径最多不为1的n个圆,现在给你1e5条线段,问你每条线段和几个圆相交,时限10s 思路: 因为半径<1,那么我其实搜索的范围只要在线段附近就好了。x1 == x2 或者 y1 == y2这个很好理解,不解释。如果是斜率> 0的,那么对于任意的x (x1 < 阅读全文
posted @ 2019-05-08 00:09 KirinSB 阅读(312) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; const int maxn = 2e5 + 10; const int ... 阅读全文
posted @ 2019-05-06 21:09 KirinSB 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一堆黑点一堆红点,问你有最多几个黑点能找到三个红点,使这个黑点在三角形内? 思路:显然红点组成的凸包内的所有黑点都能做到。但是判断黑点和凸包的关系朴素方法使O(n^2),显然超时。那么我现在有一个更好的方法判断点和凸包的关系。我固定一个红点,然后找连续两个红点使黑点 i 在这个三角形内(向 阅读全文
posted @ 2019-05-06 19:32 KirinSB 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 题意:两只乌龟从1 1走到n m,只能走没有'#'的位置,问你两只乌龟走的时候不见面的路径走法有几种 思路:LGV定理模板。但是定理中只能从n个不同起点走向n个不同终点,那么需要转化。显然必有一只从1, 2走到 n - 1, m,另一只从2, 1走到 n, m - 1。 代码: 阅读全文
posted @ 2019-05-05 21:07 KirinSB 阅读(382) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 42 下一页