P2921 [USACO08DEC] Trick or Treat on the Farm G

2023-11-01 13:44

本文主要是介绍P2921 [USACO08DEC] Trick or Treat on the Farm G,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Portal.

每只奶牛的终止条件是到达自己已经访问过的点,换言之,就是该奶牛的路线构成了一个环。并且,每一个房间通往的房间都是固定且唯一的,所以说只要进入的这个房间在环上,这个房间之后会获得的糖果数已经固定了。

我们开一个数组 s 记录当前位置的糖果数量,用 vis 数组记录房间的访问情况。对于一个已经访问过得房间,我们只需要用在这个房间的糖果数量减去上一次来这个房间的糖果数量,就可以得到当前房间所在环上的糖果数量,我们用h数组记录。

#include <bits/stdc++.h>
using namespace std;const int maxn=1e5+5;
int nxt[maxn],h[maxn],s[maxn],flag,n;
bool vis[maxn];int dfs(int now,int nowc)//起始位置 当前糖果数
{if(h[now]) return nowc-1+h[now];//当前房间的糖果不能重复累加,要-1if(vis[now]==1){h[now]=nowc-s[now];flag=now;return nowc-1;}vis[now]=1;s[now]=nowc;int ans=dfs(nxt[now],nowc+1);//当前位置符合,继续向下一个位置DFSif(flag){if(now==flag) flag=0;else h[now]=h[flag];}else h[now]=h[nxt[now]]+1;vis[now]=false;return ans;
}int main()
{cin>>n;for(int i=1;i<=n;i++) cin>>nxt[i];for(int i=1;i<=n;i++) cout<<dfs(i,1)<<endl;return 0;
}

这篇关于P2921 [USACO08DEC] Trick or Treat on the Farm G的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/323399

相关文章

hdu 1198 Farm Irrigation(并查集)

题目:         链接:点击打开链接 题意: 思路: 代码: #include<iostream>#include<cstdio>using namespace std;char a[11][5]={"1010","1001","0110","0101","1100","0011","1011","1110","0111","1101","1111"};int fathe

poj 2135 Farm Tour(最小费用流)

思路: 求往返不能经过同一条道路两次,参观路线最小的最小值.可以转话为边的流量为1,总流量为2的最小费用流 约束: 1<= N <= 1000 1<= M <= 10000 1<= ai, bi <= N 1 <= ci <= 35000 /************************************************ Author: fisty* Create

MemSQL Start[c]UP 2.0 - Round 1 C. Magic Trick

Codeforces MemSQL Start[c]UP 2.0 - Round 1 C. Magic Trick 首先,我们先假设有抽出的牌样式为A 则,抽到同样的牌(不是同样类型)的概率为 1 / N 则,抽到不同的牌的概率为 N-1 / N 此时抽到A类型的概率为,在原来的N*M张中去掉我们最先抽出的一张A,再从中抽出剩下的 M-1张A类牌 综上所述,答案为 1 / N + (

小trick之tools

以前写布局时为了观看布局效果,会写些静态的测试数据,以便在androidstudio中观察布局的效果.等到写完布局的时候在进行擦除.当布局很多的时候,这确实也是很费劲的事.其实官方早就为我们考虑到这点了. 我们在实际开发中可以使用tools. tools可以覆盖我们的属性,但是运行时这些属性是被忽略的 如: <?xml version="1.0" encoding="utf-8"?><L

HuggingFace烧钱做了一大批实验,揭示多模态大模型哪些trick真正有效

构建多模态大模型时有很多有效的trick,如采用交叉注意力机制融合图像信息到语言模型中,或直接将图像隐藏状态序列与文本嵌入序列结合输入至语言模型。 但是这些trick为什么有效,其计算效率如何,往往解释得很粗略或者或者缺乏充分的实验验证。 Hugging Face团队最近进行了广泛的实验以验证在构建多模态大模型时哪些trick是真正有效的,得出了一系列极具参考价值的结论,甚至推翻了以往文献中普

Reparameterization Trick

之前在学蒸馏的时候接触了gumbel-softmax,顺势了解了一下重参数技巧,还是很有意思的一个东西 引入 重参数技巧主要是尝试对这样形式的一个东西求梯度 L θ = E z ∼ p θ ( z ) [ f θ ( z ) ] ( 1 ) \large L_{\theta} = E_{z\sim p_{\theta}(z)}[f_{\theta}(z)] \quad \quad(1) Lθ

hdu 1198 Farm Irrigation (并查集图形的部分)

首先根据题意上的图形,对map的各个方向赋值,油管道的方向赋值为一; 最后根据地形数组p详细记录了各个点各个方向上的信息; 最后先对行进行比较,将满足题意的进行合并,然后最一列一列的将满足题意的合并;   #include"stdio.h" #include"string.h" int pre[10000],p[600][600][4]; int map[11][4]={1,1,-1,-1

一些很有用很 trick 的命令

Git 篇 在commit之前撤销 git add 操作 (undo git add before commit),此处. 意为当前目录下。 git rm -r --cached .

trick:CSS 3+checkbox实现JQuery的6个基本动画效果

在JQuery中,有六个基本动画函数:show()/hide()、fadeIn()/fadeOut()、slideUp()/slideDown()。这篇文章,就利用CSS3+checkbox实现这六个基本动画。 show()/hide()的实现 show()/hide()的实现主要控制元素的display属性。 html: <div id="box"><input type="checkb

【Trick】conda指令安装yml文件中的python依赖

安装python依赖通常使用【pip】或【conda】指令,pip主要用于txt文件,conda主要用于yml文件。以下将给出其使用方法 pip 首先,创建一个YAML文件,列出python依赖项。 dependencies:- python=3.8- numpy- pandas- matplotlib 然后,打开终端,运行pip指令(假设文件名为requirements,实际应用时