牛客练习赛24题解(搜索,DP)】的更多相关文章

A题,C题不讲,基础题(但是我要抨击一下这次比赛,卡cin,cout,卡的太狠了,根本就不让过的那种,QAQ) 链接:https://www.nowcoder.com/acm/contest/157/B来源:牛客网 凤 凰 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 凤凰于飞,翙翙其羽,亦集爰止.                                         ——<…
背单词 思路 :dp[ i ]  [ 0 ]表示 第i 位放的元音  dp[ i ]  [ 1 ]表示 第i 位放的辅音 ,cnt [ i ]含义是 长度为 i 的方案数. 转移  :dp[ i ]  [ 0 ]  由 上一个长度的所有方案数 也就是 cnt[ i-1 ]  *5 转移而来 . 同理   dp[ i ]  [ 1 ]  由 上一个长度的所有方案数 也就是 cnt[ i-1 ]  *21 转移而来 . 但是 这是 无任何限制的情况下现在加了限制,连续 元音不超过 a  连续 辅音不…
题意: 小w不会离散数学,所以她van的图论游戏是送分的 小w有一张n个点n-1条边的无向联通图,每个点编号为1~n,每条边都有一个长度小w现在在点x上她想知道从点x出发经过每个点至少一次,最少需要走多少路 思路:从当前位置开始dfs深搜,注意已经搜过的上一个点就不要搜了不然就成死循环了. 确实是个水题,但因为图论搜索这方面练习的太少了,看到题却没有往搜索上考虑,太low了!!! 代码: #include <iostream> #include <queue> #include &…
题意 你有一颗大小为\(n\)的树,点从\(1\)到\(n\)标号. 设\(dis⁡(x,y)\)表示\(x\)到\(y\)的距离. 求\(\sum_{i=1}^{n}\sum_{j=1}^{n}dis^2(i,j)\)对\(998244353\)取模的结果. 分析 设\(d_x\)为点\(x\)的深度. \(dis(x,y)=d_x+d_y-2*lca(x,y)\) \(dis^2(x,y)=d_x^2+d_y^2+2*d_x*d_y-4*d_{lca(x,y)}*(d_x+d_y)+4*d_…
前言 当初思路 开始没想到异或这么多的性质,于是认为对于每个点\(u\),可以和它连边的点\(v\)的点权 \(a_v=a_u \oplus k\)(证明:\(\because\) \(a_u\oplus a_v =k\) \(\therefore\) \(a_u\oplus a_v \oplus a_u=a_u \oplus k\) 即\(a_v=a_u \oplus k\)),于是每次将同一个点权的点放在一起,跑一遍dijkstra,然后超时了--(赛后重新提交,显示case通过率为32.0…
思路 令 \(sq=\sqrt x\) ,则答案必然在 $ sq^2$ 和 $ (sq+1)^2 $ 之间,两者比较一下谁离 \(x\) 最近,就是答案了. 代码 #include <bits/stdc++.h> using namespace std; long long x,ans1,ans2,sq; int main(){ scanf("%lld",&x); sq=(long long)sqrt(x); ans1 = sq * sq; ans2 = (sq+1…
牛客练习赛53 超越学姐爱字符串 链接:https://ac.nowcoder.com/acm/contest/1114/A来源:牛客网 超越学姐非常喜欢自己的名字,以至于英文字母她只喜欢"c"和"y".因此超越学姐喜欢只含有"c"和"y"的字符串,且字符串中不能出现两个连续的"c".请你求出有多少种长度为n的字符串是超越学姐喜欢的字符串.答案对1e9+7取模. 输入描述: 输入一个整数n.1<=n&…
牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 "你已经是一个成熟的孩子了,要学会自己烹饪了!" 小 Y 上山拜师学艺,经过 年之长的厨艺练习,已成为当世名厨,今天他接受邀请,在众人面前展示自己高超的厨艺. 人们给小 Y 提供了 种食物,每种食物无限量供…
链接:牛客练习赛26:D-xor序列(线性基) 题意:小a有n个数,他提出了一个很有意思的问题:他想知道对于任意的x, y,能否将x与这n个数中的任意多个数异或任意多次后变为y 题解:线性基 #include <bits/stdc++.h> using namespace std; ; const int INF = 0x3f3f3f3f; ; ; int n, q; long long p[maxn]; int main() { scanf("%d", &n);…
牛客练习赛11 假的字符串 (Trie树+拓扑找环) 链接:https://ac.nowcoder.com/acm/problem/15049 来源:牛客网 给定n个字符串,互不相等,你可以任意指定字符之间的大小关系(即重定义字典序),求有多少个串可能成为字典序最小的串,并输出它们 题解:对于第i个字符串来说,如果有一个串是他的前缀,那么这个前缀的字典序重定义后是肯定比他小的,所以我们用trie树保存前缀 ​ 对于当前字符串,从该字符串的第i个字母向其父亲节点上的其他字母连边,表示存在大小关系\…