codeforce 329B Biridian Forest(bfs)

单细胞 | pySCENIC·转录因子分析(一) SCENIC (Single-Cell rRegulatory Network Inference and Clustering)是一种能够从单细胞 RNA-seq 数据(SCENIC)或单细胞 RNA-seq+单细胞 ATAC-seq 的组合(SCENIC+, 今年新发的Nature Methods, 2023, 20, 1355–1367)中同时进行转录因子推断、基因调控网络重建的方法。3.制作一个trans.py,主要目的是把提取的表达矩阵转成loom文件,python trans.py运行。 阅读详情

B. Biridian Forest
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

You're a mikemon breeder currently in the middle of your journey to become a mikemon master. Your current obstacle is go through the infamous Biridian Forest.

The forest

The Biridian Forest is a two-dimensional grid consisting of r rows and c columns. Each cell in Biridian Forest may contain a tree, or may be vacant. A vacant cell may be occupied by zero or more mikemon breeders (there may also be breeders other than you in the forest). Mikemon breeders (including you) cannot enter cells with trees. One of the cells is designated as the exit cell.

The initial grid, including your initial position, the exit cell, and the initial positions of all other breeders, will be given to you. Here's an example of such grid (from the first example):

Moves

Breeders (including you) may move in the forest. In a single move, breeders may perform one of the following actions:

  • Do nothing.
  • Move from the current cell to one of the four adjacent cells (two cells are adjacent if they share a side). Note that breeders cannot enter cells with trees.
  • If you are located on the exit cell, you may leave the forest. Only you can perform this move — all other mikemon breeders will never leave the forest by using this type of movement.

After each time you make a single move, each of the other breeders simultaneously make a single move (the choice of which move to make may be different for each of the breeders).

Mikemon battle

If you and t (t > 0) mikemon breeders are located on the same cell, exactly t mikemon battles will ensue that time (since you will be battling each of those t breeders once). After the battle, all of those t breeders will leave the forest to heal their respective mikemons.

Note that the moment you leave the forest, no more mikemon battles can ensue, even if another mikemon breeder move to the exit cell immediately after that. Also note that a battle only happens between you and another breeders — there will be no battle between two other breeders (there may be multiple breeders coexisting in a single cell).

Your goal

You would like to leave the forest. In order to do so, you have to make a sequence of moves, ending with a move of the final type. Before you make any move, however, you post this sequence on your personal virtual idol Blog. Then, you will follow this sequence of moves faithfully.

Goal of other breeders

Because you post the sequence in your Blog, the other breeders will all know your exact sequence of moves even before you make your first move. All of them will move in such way that will guarantee a mikemon battle with you, if possible. The breeders that couldn't battle you will do nothing.

Your task

Print the minimum number of mikemon battles that you must participate in, assuming that you pick the sequence of moves that minimize this number. Note that you are not required to minimize the number of moves you make.

Input

The first line consists of two integers: r and c (1 ≤ r, c ≤ 1000), denoting the number of rows and the number of columns in Biridian Forest. The next r rows will each depict a row of the map, where each character represents the content of a single cell:

  • 'T': A cell occupied by a tree.
  • 'S': An empty cell, and your starting position. There will be exactly one occurence of this in the map.
  • 'E': An empty cell, and where the exit is located. There will be exactly one occurence of this in the map.
  • A digit (0-9): A cell represented by a digit X means that the cell is empty and is occupied by X breeders (in particular, if X is zero, it means that the cell is not occupied by any breeder).

It is guaranteed that it will be possible for you to go from your starting position to the exit cell through a sequence of moves.

Output

A single line denoted the minimum possible number of mikemon battles that you have to participate in if you pick a strategy that minimize this number.

Sample test(s)
input
5 7
000E0T3
T0TT0T0
010T0T0
2T0T0T0
0T0S000
output
3
input
1 4
SE23
output
2

就是求哪些大于0小于10的点到E的最小步数小于S到E的最小步数,如果是,答案加上那一点的数字

直接bfs

这里注意记录x,y数组的大小


#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>

#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define MID(x,y) ((x+y)>>1)

#define eps 1e-8
using namespace std;
#define N 1005

char a[N][N];
int n,m;
int vis[N][N];

struct stud{
int time,x,y;
};

int le[N*N],ri[N*N];
int k;

int step[4][2]={0,1,0,-1,-1,0,1,0};

int judge(int x,int y)
{
	if(x>=0&&x<n&&y>=0&&y<m)
		return 1;
	return 0;
}

void bfs(int sx,int sy)
{
	int i,j;
	memset(vis,0,sizeof(vis));
    vis[sx][sy]=1;
	struct stud cur,next;
	queue<stud>q;
	cur.x=sx;
	cur.y=sy;
	cur.time=0;
	q.push(cur);
	while(!q.empty())
	{
		cur=q.front();
		q.pop();
		for(i=0;i<4;i++)
		{
			int xx=cur.x+step[i][0];
			int yy=cur.y+step[i][1];
			if(judge(xx,yy)&&!vis[xx][yy]&&a[xx][yy]!='T')
			{
				vis[xx][yy]=cur.time+1;
				next.x=xx;
				next.y=yy;
				next.time=cur.time+1;
				q.push(next);
			}
		}
	}
}

int main()
{
	int i,j;
	int sx,sy;
	while(~scanf("%d%d",&n,&m))
	{
		k=0;
		for(i=0;i<n;i++)
		{
			scanf("%s",a[i]);
			for(j=0;j<m;j++)
			{
				if(a[i][j]=='E')
				{
					sx=i;
					sy=j;
				}
				else
				 if(a[i][j]=='S')
				{
					le[0]=i;
					ri[0]=j;
				}
				else
					if(a[i][j]>'0'&&a[i][j]<='9')
				{
					le[++k]=i;
					ri[k]=j;
				}
			}
		}
		bfs(sx,sy);
		int ans=0;
		for(i=1;i<=k;i++)
			if(vis[le[i]][ri[i]]<=vis[le[0]][ri[0]]&&vis[le[i]][ri[i]])
			 ans+=a[le[i]][ri[i]]-'0';
		printf("%d\n",ans);
	}
	 return 0;
}


pySCENIC单细胞转录因子分析更新(2):python版分析及可视化 最近公众号小伙伴好像扎堆做单细胞转录因子富集分析,这里还是建议使用服务器,因为自己电脑可能跑起来比较费劲。我们也在上一篇内容里面对分析进行了更新,我们提供的方法都在liunux终端的conda环境中运行。我们是在R语言里面提取的seurat单细胞的矩阵去python中分析,所以最后可视化的时候需要将R里面的文件转化为python可读可操作的对象。我们封装了两个函数,第一个是R里面数据提取seurat_to_adata.R,第二个是python中数据构建函数seurat_to_adata.py。 阅读详情

相关推荐

单细胞 | pySCENIC·转录因子分析(二)

接上一篇,pySCENIC分析完之后就可以进行可视化了,个人认为最重要的有三个图:rss点图,rank图,转录因子表达水平热图,3个图结合着看。3.可视化rank图,可以自己改一下plotRSS_oneSet参数让图更好看一点。4. regulon表达水平热图,转录因子表达水平同理,得到的图类似只是输入不一样。2.可视化点图:寻找cluster特异性转录因子。1.loom文件读入R,提取数据。

生信练习生 4283

pyscenic 运行实例实战 jimmy服务器 pyscenic原理解析 如果报错就去github搜索办法自己的样本转录因子分析

step2在Linux命令行中,不需要进入python软件内环境。

生信小博士的博客 2902

pySCENIC报错、解决和完整流程(IOS系统)

pySCENIC报错、解决和完整流程(IOS系统)

zfyyzhys的博客 4240

PySCENIC(三):pyscenic单细胞转录因子分析可视化

我们也可以提取数据,用热图的方式呈现,这里我是用ggheatmap做的,也可以用pheatmap、complexheatmap或ggplot2做。RSS分析,查看细胞类型特异性转录因子,需要先加载seurat对象,提取metadata信息,并进行分析!上面我们展示的是转录因子在不同细胞的评分,按照这个道理,我们依然可以选定某种细胞,看样本间转录因子的差别!当然了,全部展示没有啥意义,还是可以提取数据,可视化需要的TF!更多精彩内容请至我的公众号---KS科研分享与服务。先加载需要的R包,都加载了,没毛病。

qq_42090739的博客 8429

单细胞分析新选择:PySCENIC与R-SCENIC全面对比测评(含测试数据)

本文深度评测了单细胞转录因子分析工具PySCENIC与R-SCENIC的性能差异,基于真实测试数据从计算效率、安装配置、结果质量等六个维度进行全面对比。测试显示PySCENIC在50,000细胞数据集上比R-SCENIC快3.5-42.6倍,特别适合大规模单细胞转录组数据分析,同时保持与R-SCENIC 90%以上的结果一致性。

weixin_42616115的博客 434

比R版本快几十倍| Pyscenic单细胞转录因子预测

基于第一步的初始调控网络,根据motif和TF的关系以及motif对基因调控潜能的排序来修剪初始调控网络,最终得到的每个TF及其潜在的直接targets gene称作一个。ing)是一个专门可以用于scRNA-seq数据转录因子推断的分析软件。,主要限速步骤是GENIE3计算共表达网络,几万个细胞算几周也是常有的事。的调控关系,从而揭示每个细胞的调控状态及细胞群的生物学特性,达到辅助推断细胞的状态和功能。的流程,虽然牺牲一波可视化结果,但是计算速度快了几十~上百倍。版本的SCENIC简直。

weixin_47195452的博客 1600

Codeforces 329B Biridian Forest(BFS)

题目链接:Codeforces 329B Biridian Forest 不难想到,若小队a距出口的距离小于等于主人公距出口的距离,小队a一定可一追到主人公,所以只要以出口为起点,做一个bfs记录下出口到各点的距离,之后统计人数即可。需要注意的一点是有些区域可能会被障碍物个离开,初始化的时候要将所有区域到出口的距离设为无穷大,不然在统计时可能会把隔了区的小队人数也统计进去。 #includ

fobdddf的专栏 1014

SCENICprotocol:可扩展的SCENIC工作流程,用于单细胞基因调控网络分析

可扩展的SCENIC工作流程,用于单细胞基因调控网络分析 该存储库描述了如何对单细胞数据运行pySCENIC基因调控网络推断分析以及基本的“最佳实践”表达分析。 这包括: 独立的Jupyter笔记本电脑,用于交互式分析 Nextflow DSL1工作流程,它提供了一种半自动化且简化的方法来运行这些步骤 pySCENIC安装,使用和下游分析的详细信息 另请参阅《自然规约》中的相关出版物: : 。 有关此协议中步骤的高级实现,请参阅 ,这是pySCENIC的Nextflow DSL2实现,具有用于表达式分析的全面且可自定义的管道。 这包括其他pySCENIC功能(多次运行,集成的基于主题和基于轨迹的regulon修剪,织机文件生成)。 概述 实例探究 PBMC 10k数据集(10x基因组学) 完整的SCENIC分析,以及过滤,群集,可视化和SCope就绪的织机文件创建: | SCEN

【Codeforces 329B】Biridian Forest

【链接】 我是链接,点我呀:) 【题意】 题意 【题解】 找到出口到每个点的最短距离。 设你到出口的最短距离为temp 那么如果某个人到终点的距离<=temp,则他们肯定能遇到你 因为他们可以在终点等你。。 但是如果某个人到终点的距离>temp,那么他们肯定不可能在某个时刻和你遇到 因为如果可以在某个时刻与你遇到的话,那他可以接下来跟着你走,那么他到终点的距离...

weixin_30780649的博客 77

GNSS数据资源全解析:从DCB到BSX文件的下载与应用指南

本文系统解析了GNSS数据处理所需的核心数据资源,包括DCB、BSX、SP3、CLK等关键文件的官方下载路径与应用方法。详细介绍了CDDIS、武汉大学镜像站等权威数据源,并提供了从数据下载到实际应用的完整指南,帮助用户高效获取GNSS数据,提升精密定位处理效率。

weixin_29246195的博客 138

Coze知识库搭建:智能化管理与高效检索实践

知识管理系统是现代企业信息资产管理的核心基础设施,其核心原理是通过结构化存储和智能检索技术实现知识的快速流转。在技术实现上,基于NLP的语义理解引擎和知识图谱构建是关键,能够显著提升检索准确率和知识关联性。以Coze平台为例,其针对中文场景优化的分词算法和多模态处理能力,可有效解决技术文档管理中的术语识别和格式兼容问题。这类系统在开发团队知识沉淀、新员工培训等场景中价值显著,特别是当集成RBAC权限模型和自动化备份策略后,既能保障信息安全,又能实现持续的知识迭代。通过合理配置同义词扩展和权重调整,可使搜索命

weixin_29041195的博客 261

Biridian Forest(BFS)

题目链接:[http://codeforces.com/problemset/problem/329/B] 分析: 其它的训练师都是坏人,想和你打架,如果你是他们,你会怎么做? 肯定是在必经之路等着,可是必经之路有很多,他们没有瞬移能力,但是有一个位置你必然要到达,就是出口,所以他们只要在出口等你就好了。 也就是说,只要能在你之前或与你同时到达的训练师,都会和你发生战斗。 以终点开始...

CatDsy的博客 478

AUTOSAR NvM 实车故障深度剖析:车载存储问题快速定位与工程解决方案

软件配置与代码逻辑无问题时,排查底层驱动与ECU硬件,步骤如下:底层驱动排查:排查Fls/Eep驱动配置,是否适配目标MCU(如TC397、S32K),编程/擦除/读取时序是否合理;检查Fls/Eep驱动错误处理逻辑,是否未处理Flash编程失败、读取错误等异常;验证Flash高速编程模式是否启用,是否能提升写入/读取速度;排查MemIf层配置,是否正确对接NvM与Fls/Eep驱动,是否存在调度延迟。

getusushu的博客 78

pySCENIC单细胞转录因子分析更新:数据库、软件更新

**pySCENIC全部往期精彩系列首先说一句,我们之前也发过R语言版本的SCENIC,但是后来我们感觉容易出错,而且费时,所以就没有再探究过。可是总是有小伙伴喜欢跑R,然后说这里错了,那里找不见,其实我们的帖子写于2022年,但是数据库已经更新了,去官网下载新的数据库,不能无脑跑代码。回到pySCENIC,之前我们写过整个系列4篇帖子,分析可视化都是很完善了。可是近期跑的时候发现在第一步有点问题,要么跑不动,要么出错,怀疑是软件和数据库没有更新的缘故,故而更新一下测试。这个帖子主要有两部分内容。

qq_42090739的博客 3352

多源异构数据融合(Kaggle+Google Trends联合分析)

本文详细介绍了如何利用Python实现多源异构数据融合,以Kaggle电商销售数据与Google Trends搜索指数为例,展示了数据清洗、预处理、时间对齐、数据合并、相关性分析、回归建模和可视化全过程。数据预处理与内存优化通过分块加载、数据类型转换和缺失值处理,有效降低了大规模数据在内存中的占用,并确保数据质量。时间对齐与数据融合策略采用重采样与内连接方法对齐不同数据源的时间维度,实现了高质量数据的融合,为后续联合分析奠定基础。模型构建与分析。

闲人编程的博客 1015

AutoSAR系列讲解 - 前言

博主xyfx是一名汽车行业的嵌入式软件工程师,本职工作是同步电机的驱动控制(主要做FOC的,这个大家要是有兴趣,以后可以单独开一个专栏来讲解一下),由于做控制器的时候需要用到AutoSAR,所以特意的去学习了相关知识,同时博主自己也在同步提高中,有写的不合理的地方也请大家指正。我准备对AutoSAR开设两个大的方面来讲解,一是AutoSAR的入门篇,二是AutoSAR的实践篇,分别讲述AutoSAR的理论基础和工具的使用。

雪云飞星的博客 4万+

PySCENIC(一):python版单细胞转录组转录因子分析

​ 关于单细胞转录组转录因子的分析我们之前在单细胞系列讲过R语言版本的,参考:跟着Cell学单细胞转录组分析(十二):转录组因子分析,但是R语言分析起来速度非常慢,如果你动辄上万的单细胞可能要运行好几周,这显然不现实。pySCENIC则很好的解决了这个问题,分析速度很快。

qq_42090739的博客 1万+

TC3XX - MCAL知识点(三十九):AURIX™ TC3xx 的EDSADC实现旋变解码功能(应用笔记记录)

本文总结了英飞凌应用笔记中关于EDSADC旋变解码系统的关键内容。系统通过调幅解调获取电机位置和速度信号,支持内外载波生成方案,其中内部载波方案更常用(需2个DSADC通道)。重点介绍了滤波器链配置建议(避免FIR1)、系统条件要求(如偶数积分周期)以及群延迟计算方法。特别分析了SDCAP功能对硬件延迟的补偿机制,指出温度等因素可能导致外部电路延迟变化,需通过计数器测量并通过软件调整积分器起始点来消除角度误差。文中还提供了不同硬件延迟情况下的信号处理示例。

梦想技术家 457

怎么使用服务器运行pySCENIC

本文我们整理了在服务器上运行pyscenic的三个方法供大家参考,分别是conda安装pyscenic运行、arboreto_with_multiprocessing运行、容器化运行。

为生信助力 2104

2025年下半年网络工程师案例分析真题及答案解析

2025年下半年网络工程师案例分析真题及答案解析

鹿鸣天涯 1086

从“点云”到“图像”:华为896线激光雷达的技术飞跃与行业影响浅析

华为发布全球首款896线双光路激光雷达,实现车载感知从"3D点云"到"3D成像"的跨越。该产品采用创新双光路架构,集成广角和长焦单元,单帧点云量达128线产品的7倍,可在55米外识别小狗摇尾巴等细节。实测数据显示,其能识别120米外14厘米低矮障碍物,夜间低反射率目标识别距离提升190%。尽管速腾聚创随后发布更高线数产品,但华为强调实用性和量产可行性,成本仅增加1-2万元。这一突破标志着激光雷达进入大规模应用阶段,将加速高阶智驾功能普及,强化华为在智能汽车领域的技术底

致力于lidar应用开发 210

PySCENIC(四)个性化分析:pyscenic结果之差异转录因子分析及其他可视化

pyscenic的分析和可视化总算是结束了。其实还有python版本的可视化,但是已经不想研究了,和R差不多,主要是对结果的解读。3、差异TF的分析,这也许是今天这个帖子的重点内容吧,可以像转录组那样,或者GSVA,寻找不同组织间差异性TF,结果更有说服力!1、rank形式的转录因子展示,有些文章中是这样,特异性TF展示更直观。更多精彩内容请至我的公众号---KS科研分享与服务。2、利用我们之前说过的网络图展示TF与靶基因!

qq_42090739的博客 4537

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

PySCENIC(二):pyscenic单细胞转录组转录因子分析

假设你完成了上面的步骤,那接下来的分析至少在代码上很简单,三个步骤,可能会等待一段时间,尤其是第一、二步骤,不过相比于R简直是神速。参考基因组的情况根据实际情况自行下载,当然我下载的也可以用,具体深入的原理有兴趣的可以去了解,我只是参考文献使用的!为了减轻大家的负担,文件我已经下载好了,包括人的、鼠的,以及转化文件的py脚本,已上传QQ群文件,群成员可在群里免费获取!上一节说了pySCENIC的分析环境配置及安装,除了这些,还有一些必要条件,例如相关文件的下载,一些数据转化等等。

qq_42090739的博客 5788

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

CF 329B(Biridian Forest-贪心-非二分)

B. Biridian Forest time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You're a mikemon breeder currently in th

nike0good |Oier&ACMer | 熟能生巧 1901

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【记录向】经验分享:Pyscenic软件不兼容报错解决方法

2024/2/19 转录因子分析软件Pyscenic常用于分析单个细胞群受到的转录因子调控,目前版本为0.12.1,在使用Pyscenic 进行分析的时候报错:AttributeError: module 'numpy' has no attribute 'object'.为numpy软件不兼容所致。综合GITHUB上的解决方案,依旧存在问题。按照上述软件安装即可。

qq_50464714的博客 1713
上一篇: HDU 1595find the longest of the shortest(spfa)
下一篇: HDU 5078 Revenge of LIS II(dp LIS)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值