首页 > TAG信息列表 > 聪聪

「NOI2005」聪聪和可可 题解

「NOI2005」聪聪和可可 题解 题目大意 n个点,m条路的无向图,猫在S点,老鼠在T点,假设每个时间节点猫先走。猫每个时间节点可以靠近老鼠走两步(最短路),如果一步就可以抓到老鼠,就走一步,如果有多条最短路,选择节点标号小的一条;老鼠等概率地选择去向相邻的点或停留。 求猫捉到老鼠的期望时间。

P4206 [NOI2005] 聪聪与可可

预处理 nxt[i,j] 表示i到j最近距离i的下一个位置 最后记忆化搜索就好 #include<cstdio> #include<queue> #include<cstring> #include<iostream> using namespace std; int cur,n,m,s,t; int head[1005],p[1005]; int dis[1005][1005],nxt[1005][1005]; bool vis[1005],visit[

图论专题-专项训练:点分治

目录1. 前言2. 练习题P4178 TreeP2634 [国家集训队]聪聪可可P4149 [IOI2011]Race3. 总结 1. 前言 本篇博文是作者在学习点分治这一算法的时候做的一些题目的总结。 前置知识:点分治算法。 图论专题-学习笔记:点分治 2. 练习题 题单: P4178 Tree P2634 [国家集训队]聪聪可可 P4149

[NOI2005] 聪聪与可可

聪聪与可可 题目大意 给你一张图,再给你两个位置,这两个位置上有两个人,分别是A和B。A知道B的位置且每次都是他先走,A每次能走两步(由于他知道位置,所以每次都是向离B更近的点走,若距离相同,走标号最小的点),B每次随机走向下一个地点。求A和B到达同一个位置的期望。 解决方案 我们设\(f[i]

任聪聪产品思维100篇目录【阅读指南】

任聪聪产品思维100篇介绍 任聪聪产品思维100篇,间断持续更新。总结了本人的产品实践和经验总结,全是干货。适合小白以及同行朋友阅读和学习。 透过人性看到产品的本质! 原创声明:请勿私自转载和传播,后果自负! 基础篇 01什么是产品经理 02如何成为一名产品经理 03互联网产品思维 04

luogu P4206 聪聪和可可

聪聪和可可 鸽了两天 \(dijkstra\)预处理出来两点之间的最短路径\(dis\)数组,读题发现,\(cat\)的走位很怪sb斩了,所以我们设一个\(next\)数组,\(next[i][j]\)表示\(cat\)在\(i\)位置,\(mouse\)在\(j\)位置时,\(cat\)下一步要去的位置, 设\(i\),\(j\)之间有一条边则 \[if\left(dis[i][k]-1

[NOI2005]聪聪和可可

###概率与期望 首先还是建边,双向边,之后记录每一个点的出度,之后可以用\(spfa\)或者是\(dijkstra\)来计算出每个点之间的最短距离,每个猫都 绝 顶 聪 明 ,故他们会计算出来最短路来转移,但是我们计算最短路的目的并不是单纯的最短路,而是为了计算一个 miaomiao(四声)的数组:\(nxt\)数

2021-02-10

本文转载自 界面新闻,作者:徐诗琪 继卖流量包、卖表情包、卖影视剧资源之后,卖微信红包封面也成了一门新生意。 2020年11月4日,微信发布了一个看上去并不起眼的消息:个人可以设计微信红包封面了,这一能力将开放给优质的视频号创作者。此前只有企业用户才能做红包封面。 不少人以为,

微信红包封面催生暴利灰产:有人月入三十万

本文转载自 界面新闻,作者:徐诗琪 继卖流量包、卖表情包、卖影视剧资源之后,卖微信红包封面也成了一门新生意。 2020年11月4日,微信发布了一个看上去并不起眼的消息:个人可以设计微信红包封面了,这一能力将开放给优质的视频号创作者。此前只有企业用户才能做红包封面。 不少人以为,微信

[BZOJ2152] 聪聪可可 - 点分治

Description 给定一棵树,树上每条边有权值,两人每次从树上随机选择两个点(可以重复),求两点路径上长为 \(3\) 的倍数的概率。 Solution 每层分治到重心 \(p\) 时计算所有经过 \(p\) 的路径,这里我们先只算不重复的组合,最后乘 \(2\) 再加上两点重合的情况 对重心 \(p\) 和当前枚举的子树

洛谷 P2634 聪聪可可

题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。 他们的爸爸快被他们的争吵烦死了,所以他发明了

BZOJ-2152 聪聪可可

题面 Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。他们的爸爸快被他们的争吵烦死了,所以他

CF580B Kefa and Company 题解 双指针/二分

题目链接:http://codeforces.com/problemset/problem/580/B 题目描述 聪聪最近领到了工资所以他决定去五星级大饭店大吃一顿,但是一个人吃不爽,他需要朋友的陪伴。 聪聪有 \(n\) 个朋友,如果聪聪邀请这 \(n\) 个朋友中的任何一个人去吃饭,他们都会有时间陪伴聪聪去吃饭。 聪聪的每个朋

洛谷 P2634 [国家集训队]聪聪可可 树形DP 题解

这是我第一篇用markdown写的博客,格式不好请见谅。 每日一题 day63 打卡 Analysis 这道题正解是点分治,但我发现了树形DP的做法,于是我就写了树形DP。 \[ dp[i][0/1/2]表示i的子树中有多少个点与i距离模3余数为0,1,2 \] 首先思考如何转移,对于每个i来说,可以用dp[from][(j+val)%3]+=dp[

【图论】——洛谷P2634 [国家集训队]聪聪可可

点分治裸题,不说了。        对于这道题目,我们找的就是长度和为3的倍数的路径条数,根据模运算性质,我们可以将所有路径长模3。 那么,就可以用点分治的基本操作解决此题了。 代码稍微参考了一下这位dalao的:GO 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=

洛谷P2634 [国家集训队]聪聪可可(点分治)

聪聪可可 题目传送门 解题思路 点分治。分别统计(各个点到根的距离%3)的值为0,1,2的个数,然后统计不在同一颗子树中余数相加再%3的值为0的个数x,因为两个人可以选同一个点,所以x+n即为路径为3倍数的点对的个数。概率即为(x+n)/(n*n)。 代码如下 #include <bits/stdc++.h> #define INF 0

9.2练习题3 叠罗汉 题解

题目出处:洛谷 P2676,不过题目描述改掉了,程序也稍有不同。 题目描述 茜茜和聪聪是关系很好的同桌,有一天,茜茜觉得天空中的白云像棉花糖一样,应该很好吃吧,但是够不着,她很烦恼。 聪聪为了帮助茜茜解决烦恼,决定帮他把天空中的白云摘下来做成棉花糖给她吃。 但是聪聪也够不着。于是他购买

C 部落划分

时间限制 : - MS   空间限制 : - KB   SPJ 评测说明 : 1s,128m 问题描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都

模板—点分支A(容斥)(洛谷P2634 [国家集训队]聪聪可可)

洛谷P2634 [国家集训队]聪聪可可 静态点分治 一开始还以为要把分治树建出来……• 树的结构不发生改变,点权边权都不变,那么我们利用刚刚的思路,有两种具体的分治方法。• A:朴素做法,直接找重心,处理过重心的所有路径。然而,路径端点在同一子树(即路径实际上并不过重心)的情况会发

P4047 部落划分

题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的。 不过好消息是,聪聪得到了一份荒岛的地

[国家集训队]聪聪可可

题目链接:点这里 大致题意:给你一颗树,求出所有边权和能被3整除的路径数 Solution: 用一个pos数组来记录路径长度mod 3之后的数量 则答案为pos[1] * pos[2] * 2+pos[3]*pos[3] 最后去除同子树内的答案即可 Code: #include<bits/stdc++.h> #define ll long long #define inf 2147483647

聪聪可可

#include <iostream> #include <cstdio> using namespace std; int read() { int x=0,f=1; char c=getchar(); while(c<'0'||c>'9') { if(c=='-') f=-1; c=getchar(); } while(c>='0'&&c<

P2634 [国家集训队]聪聪可可(树形dp)

题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。 他们的爸爸快被他们的争吵烦死了,所以他发明了一

聪聪可可

题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。 他们的爸爸快被他们的争吵烦死了,所以他发明了一

bzoj2152: 聪聪可可 点分治

链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2152 luogu爆搜都能过,总时间超过100ms就是写错了 思路 直接mod上面跑点分治就行了,又是模板 代码 #include <cstdio> #include <algorithm> #include <cmath> #include <iostream> using namespace std; const int N=5e5+7;