【codechef】Children Trips】的更多相关文章

Portal -->CC_Children Trips Solution (英文题解看得真爽qwq不过写的好详细啊ovo) 首先这题有一个很重要的条件就是边权是\(1\)或者\(2\),所以虽然说我也不知道为什么这样就能突然想到了分块(是不是不知道怎么搞的时候就想分块啊qwq) 我们按照学生的体力值是否大于\(\sqrt n\)将所有的询问分成两类,第一类是\(P<=\sqrt n\)的,第二类是\(P>\sqrt n\)的 ​ 我们首先来看\(P>\sqrt n\)的这类 ​ 如…
此题绝了,$O(n^{1.5}\ log\ n)$都可以过掉.... 题目大意:给你一颗$n$个点的树,每条边边权不是2就是$1$,有$m$个询问,每次询问一个人从$x$点走到$y$点,每天可以走的里程数不超过$k$,问你从$x$至$y$至少需几天. 数据范围:$n≤10^5$. 我们将询问分成$k≤\sqrt{n}$和k$>\sqrt{n}$两类. 对于$k>\sqrt{n}$的,每次跳跃我们直接大力倍增就可以了,不难发现此方法单次的时间复杂度为$O(\sqrt{n}log\  n)$. 对…
[CodeChef]Querying on a Grid(分治,最短路) 题面 Vjudge CodeChef 题解 考虑分治处理这个问题,每次取一个\(mid\),对于\(mid\)上的三个点构建最短路径树(因为保证了最短路唯一所以是树). 如果两点之间的最短路径跨越了\(mid\),那么必定有\(dis[u]+dis[v]\)的和就是最短路径长度. 那么我们在分治过程中考虑每一个\(mid\),取其中\(dis[u]+dis[v]\)的最小值,这样子就很容易可以找到最短路径长度. 然后知道了…
[CF605E]Intergalaxy Trips(贪心,动态规划) 题面 Codeforces 洛谷 有\(n\)个点,每个时刻第\(i\)个点和第\(j\)个点之间有\(p_{ij}\)的概率存在一条边.每个时刻可以沿着一条边走或者留在原地.求从\(1\)号点走到\(n\)号点的最优的期望时间. 题解 设\(E(x)\)表示从\(x\)走到\(n\)的最短期望时间,那么考虑当前停的这个点的下一步应该怎么走,首先,你一定会走向当前能够到达的所有点中,\(E(x)\)最小的那个,而如果所有可以到…
[CodeChef]Palindromeness(回文树) 题面 Vjudge CodeChef 中文版题面 题解 构建回文树,现在的问题就是要求出当前回文串节点的长度的一半的那个回文串所代表的节点 定义\(half\)表示长度最长并且长度小于等于当前节点长度一半的回文串所代表的节点 \(half\)的求法,如果当前点的\(len=1\),\(half\)不存在 否则,从构建回文树时的父亲节点(不是\(fail\)指针)所代表的那个点的\(half\)开始 暴力跳\(fail\),直到找到满足条…
[CodeChef]Find a special connected block - CONNECT(斯坦纳树) 题面 Vjudge 题解 还是一样的套路题,把每个数字映射到\([0,K)\)的整数,然后跑斯坦纳树,重复多次就有很大概率出解. 但是别乱随机,我直接随机\(WA\)成sb了,后来学了别人代码用自己手写的伪随机数就过了.. #include<iostream> #include<cstdio> #include<cstdlib> #include<cs…
All submissions for this problem are available. Read problems statements in Mandarin Chinese and Russian. This problem's statement is really a short one. You are given an integer S. Consider an infinite sequence S, 2S, 3S, ... . Find the first number…
Children's Queue Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 11117    Accepted Submission(s): 3577 Problem Description There are many students in PHT School. One day, the headmaster whose n…
题意 给出 c 和 P ,求最小的非负整数 n 使得 \(Fib(n)=c(mod~ P)\) 其中 P 是质数且 模 10 等于一个完全平方数(也就是说 P 的末位是个完全平方数,那么只能是 1 或者 9 ) (这里的 Fib 指的就是斐波那契数列) 前置芝士 Cipolla (attack 巨巨写的炒鸡好,%%%) BSGS (Judge 菜鸡写的炒鸡烂,踩踩踩) noteskey 不知道怎么做,只能黈力呢... 我们发现斐波那契数列第 n 项是: \[{1\over \sqrt5}\Big…
vjudge 给定一棵边长都是\(1\)的树,求有多少条路径长度为质数 树上路径自然是点分治去搞,但是发现要求是长度为质数,总不能对每一个质数都判断一遍吧 自然是不行的,这个东西显然是一个卷积,我们合并的时候显然可以直接大力\(NTT\) 但是需要注意的是我们访问子树的顺序必须是先访问深度小的子树,否则轻松被菊花加长链卡掉 但是\(CodeChef\)数据水啊,就这样直接搞过去了 代码 #include<algorithm> #include<iostream> #include&…