hdu2112HDU Today trie+map

【Godot】实现对话系统 在 Godot 中实现对话系统(Dialogue System)是游戏开发中的常见需求。Godot本身自带的的灵活性和轻量级脚本语言 GDScript 使得实现对话系统变得相对简单。以下是实现一个基础对话系统的示例。(语言为GDScript但高亮选择Python因为类似)通过 Godot 和 GDScript,我们可以给我们的游戏实现一个对话系统。从简单的文本显示到复杂的分支对话,Godot 提供了足够的灵活性来满足我们的需求。如果需要更高级的功能,可以尝试使用现成的插件如 Dialogic。 阅读详情

trie

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <queue>
#include <cstring>
#include <utility>
#define MAXN 50010
#define MAXM 50010

using namespace std;
int chd[MAXN][26];//存储节点编号
int v[MAXN];//串尾节点标记//对于map<string,int>为int v[][]
int ID[128];//每个字母的ID
int sz,cnt;//节点数
void init1(){
    memset(chd, 0, sizeof(chd));
    memset(v, 0, sizeof(v));
    sz= 1;
    cnt=0;
    for (int i = 0; i < 26; i++)
        ID[i + 'a'] = i;
}
int Insert(char *s){
    int cur=1;//标记是否存在
    for(int i=0;s[i];++i){
        if(!chd[cur][ID[s[i]]]){
            chd[cur][ID[s[i]]]=++sz;
        }
        cur=chd[cur][ID[s[i]]];
    }
    if(v[cur] == 0){//重点=======
        v[cur]= ++cnt;
    }
    return v[cur];
}

int n,m,s,t;
typedef pair<int ,int> PII;
struct edge {
    int v, w;
    edge *next;
    void add(int y, int z, edge *&head){ v = y; w = z; next = head; head = this; }
}Te[MAXM*2],*Pe=Te,*head[MAXN*2];

void add_edge(int x, int y, int z) {
    Pe++->add(y, z, head[x]);
}

int dist[MAXN];
bool visit[MAXN];

void dijkstra(int x) {
    priority_queue<PII>q;
    while (!q.empty()) q.pop();
    memset(dist, 0x3f, sizeof(dist));
    memset(visit, 0, sizeof(visit));
    dist[x] = 0;

    q.push(make_pair(0, x));
    while (!q.empty()) {
        while (!q.empty() && visit[q.top().second]) q.pop();
        if (q.empty()) break;
        PII t = q.top(); q.pop();
        int i = t.second;
        dist[i] = -t.first;
        visit[i]=true;
        for (edge *p = head[i]; p; p = p->next)
            if (!visit[p->v]) q.push(make_pair(-(dist[i] + p->w), p->v));
    }
}
void init()
{
    init1();
    memset(head,0,sizeof(head));
    Pe=Te;
    char s1[33],s2[33];
    scanf(" %s %s",s1,s2);
    s=Insert(s1);t=Insert(s2);
    //cout<<s<<' '<<t<<endl;
    for(int i=1;i<=n;i++)
    {
        int x,y,z;
        scanf(" %s %s%d",s1,s2,&z);
        x=Insert(s1);y=Insert(s2);
        //printf(" %s:%d %s:%d %d\n",s1,x,s2,y,z);
        add_edge(x,y,z);
        add_edge(y,x,z);
    }

}
int main()
{
    while(scanf("%d",&n)&&n!=-1){
        init();
        if(s == t){cout<<0<<endl;continue;}
        dijkstra(s);
        cout<<(dist[t]==0x3f3f3f3f?-1:dist[t])<<endl;
    }
    return 0;
}

map

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <queue>
#include <cstring>
#include <utility>
#include <map>
#include <string>
#define MAXN 50010
#define MAXM 50010

using namespace std;
map<string,int> mp;
int n,m,s,t;
typedef pair<int ,int> PII;
struct edge {
	int v, w;
	edge *next;
	void add(int y, int z, edge *&head){ v = y; w = z; next = head; head = this; }
}Te[MAXM*2],*Pe=Te,*head[MAXN*2];

void add_edge(int x, int y, int z) {
	Pe++->add(y, z, head[x]);
}

int dist[MAXN];
bool visit[MAXN];

void dijkstra(int x) {
	priority_queue<PII>q;
	while (!q.empty()) q.pop();
	memset(dist, 0x3f, sizeof(dist));
	memset(visit, 0, sizeof(visit));
	dist[x] = 0;

	q.push(make_pair(0, x));
	while (!q.empty()) {
		while (!q.empty() && visit[q.top().second]) q.pop();
		if (q.empty()) break;
		PII t = q.top(); q.pop();
		int i = t.second;
		dist[i] = -t.first;
		visit[i]=true;
		for (edge *p = head[i]; p; p = p->next)
			if (!visit[p->v]) q.push(make_pair(-(dist[i] + p->w), p->v));
	}
}
void init()
{
    memset(head,0,sizeof(head));
    Pe=Te;
    mp.clear();
    char s1[33],s2[33],s3[33],s4[33];
    int cnt=1;
    scanf(" %s %s",s1,s2);
    s=mp[s1]=cnt++;
    if(!mp[s2]) mp[s2]=cnt++;
    t=mp[s2];
	//cout<<s<<' '<<t<<endl;
	for(int i=1;i<=n;i++)
	{
		int z;
		scanf(" %s %s%d",s3,s4,&z);
		if(!mp[s3])mp[s3]=cnt++;
		if(!mp[s4])mp[s4]=cnt++;
		//printf(" %s:%d %s:%d %d\n",s1,x,s2,y,z);
		add_edge(mp[s3],mp[s4],z);
        add_edge(mp[s4],mp[s3],z);
	}

}
int main()
{
    while(scanf("%d",&n)&&n!=-1){
        init();
        if(s == t){cout<<0<<endl;continue;}
        dijkstra(s);
        cout<<(dist[t]==0x3f3f3f3f?-1:dist[t])<<endl;
    }
    return 0;
}


《华为项目管理之道》第1章笔记 performance indicator,KPI)纳入个人绩效承诺书,贯彻结果导向的理念,以向员工。客户需求是华为发展的原动力,为客户服务是华为存在的唯一理由。目经理‘用兵’,依靠市场机制‘调兵’”,打破了人员在功能部门的板结,实现了听得。为管理者选拔的必要条件,项目经理成为人人向往的岗位。《华为项目管理之道》,是新出的华为官方的项目管理书,整个书不错。伴随着项目型组织的建立,华为逐步形成了完备的项目管理流程和制度,从而将业务运。为此,通过改革,重新明确了项目经理承担的经营责任,并开始以项。 阅读详情

相关推荐

软件测试面试题汇总

软件测试面试题汇总 测试技术面试题 ........................................................................................................................................................................ 5 1、什么是兼容

晴天的专栏 2万+

HDU-2112 HDU Today

HDU 2112 HDU Today 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强...

你呢的博客 835

PLC作为Modbus TCP客户端

PLC作为Modbus TCP客户端,Modbus Slave作为服务器

soledad_chao的博客 4377

HDU - 2112 HDU Today

HDU Today HDU - 2112 经典最短路 先将字符串对应到数。 对于map中没有的字符串其值为0 因为没有考虑到起点和顶点相同的情况(准确说是考虑过,但是想错了,,,emmm)wa死我了。。。。 经典dijkstra。 #include&lt;iostream&gt; #include&lt;string&gt; #include&lt;map&gt; #include&lt;cs...

yingzhengttt blog 226

【软件使用】Calibre部分提参的实用技巧与常见问题解析

本文深入解析Calibre部分提参功能的实用技巧与常见问题,重点介绍hcell和xcell文件的配置方法、PEX命令的进阶使用技巧,以及时钟失真等典型问题的排查指南。通过精准控制寄生参数提取范围,显著提升复杂芯片设计的效率与准确性。

weixin_30836759的博客 116

亚马逊商品评论爬取与情感分析实战:Python+BeautifulSoup高效解析(附反爬技巧)

本文详细介绍了使用Python和BeautifulSoup库高效爬取亚马逊商品评论并进行情感分析的完整实战流程。文章从环境搭建、核心代码编写入手,重点讲解了如何通过设置请求头、添加延迟等防封策略应对反爬机制,确保数据抓取的稳定性。最后,利用TextBlob库对评论文本进行情感分析,并通过可视化图表直观展示产品口碑,为电商选品与市场调研提供数据支持。

weixin_29046611的博客 1164

HDU2112 HDU Today(关于最短路和map)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 解法:一道求最短路的题,但由于图的点是用字符串表示的,所以要用到map映射去建图。然后跑遍dij就行了。 注意:对于输入>1000的用cin很容易超时,所以一般用scanf。但由于string只能用cin输入,所以对于这种情况可以用到string中的函数(string 的变量名).assig

longshanxiaoxuesheng的博客 302

ROS与Qt5人机交互界面开发:添加rviz显示界面

最后,点击"完成"以创建新的Qt5应用程序项目。通过结合ROS和Qt5,您可以创建强大的人机交互界面,以实现丰富的机器人控制和数据可视化。在本教程中,我们将在主窗口中创建一个简单的按钮,用于启动rviz显示界面。在Qt Creator的槽函数编辑器中,为按钮添加一个槽函数,该函数将在单击按钮时调用。在上面的代码中,我们使用QProcess类启动了一个新的进程,并执行"rviz"命令来启动rviz显示界面。当您单击Qt5应用程序中的按钮时,将会启动一个新的rviz窗口,显示机器人数据的可视化界面。

CodeJolt的博客 2066

Hdu 2112 HDU Today

Hdu 2112 HDU Today 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 解题思路:唯一麻烦的就是地点全部是字符串,解决办法就是用map把字符串映射成int型再用迪杰斯特拉算法去处理就行,注意一下,最后要特判起点等于终点的时候要把dist值改为0,因为开始会把起点终点映射成两个int值,所以会导致起点和终点是一个点的时候出错。...

weixin_43823753的博客 286

Linux系统安装部署Redis完整教程(图文详解)

最近需要在Linux服务器安装部署Redis,参考了网上很多的文章,比较零碎,所以我自己写了一篇完整的Redis安装部署文档,在部署Redis之前重装了我的华为服务器,就是为了给大家一步步阐述我的操作过程,配合图文进行讲解更加通俗易懂!

黄团团的个人博客 6690

基于网关实现不同网段S7-1200 CPU的通信方法

在A网段的计算机上ping B网段的计算机:在A网段的计算机上使用ping命令,向B网段的计算机发送数据包。在B网段的计算机上ping A网段的计算机:同样地,在B网段的计算机上使用ping命令,向A网段的计算机发送数据包。数据包也会经过路由器进行转发,最终到达A网段的计算机。配置路由器:在路由器上配置两个网段的IP地址和子网掩码,并设置路由表,使得路由器可以将A网段和B网段之间的数据进行转发。确定两个网络之间的路由器:假设需要将A网段和B网段进行通信,需要在A、B两个网段之间设置一台路由器。

电工 2396

HDU2112-HDU Today

http://acm.hdu.edu.cn/showproblem.php?pid=2112 字符串处理下,以前不会用find函数就自写了个 - -。。。 #include<stdio.h> #include<string.h> #define INF 0xfffffff #define N 600 int map[N][N],vis[N],dis[...

weixin_30387339的博客 111

人工蜂群优化算法(ABC)详解:原理、实现与应用

人工蜂群算法(Artificial Bee Colony, ABC)是Karaboga于2005年提出的一种群体智能优化算法,其灵感来源于蜜蜂群体在自然界中高效的采蜜行为。该算法通过模拟雇佣蜂、观察蜂和侦察蜂三种角色的分工协作来寻找最优解。在ABC算法中,每个潜在的解决方案被视为一个“食物源”,其质量由适应度函数评估。雇佣蜂负责在已知优质食物源附近进行局部开采;观察蜂根据雇佣蜂分享的信息,以一定概率选择并跟进优质食物源;侦察蜂则随机探索新区域,防止种群陷入局部最优。

qq_42212808的博客 391

HDU Today(hdu2112)

HDU Today(hdu2112) 题目链接:HDU Today(hdu2112) 题目大意:要求计算题目给出的起点终点最短路径 题解:这个题是一个简单的最短路径算法,比较麻烦的在于对公交站名的处理,用map模板处理即可,最短路径算法用Dijkstra算法求解即可,AC代码如下: #include<bits/stdc++.h> using namespace std; int con...

BeZer0的学习笔记 255

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

hdu 2112HDU Today 最短路+map

HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 23041    Accepted Submission(s): 5515 Problem Description 经过锦囊相助,海东集团终于度过了危机

ctrss的博客 456

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

HDU 2112 HDU Today

链接: http://acm.hdu.edu.cn/showproblem.php?pid=2112 最短路,dijkstra 输入为字符串,用C++ STL map处理成数字后存入图 #include #include #include #include #define INF 0x3f3f3f3f using namespace std; int mp[151][

azhuge233的博客 422

hdu-2112 HDU Today

http://acm.hdu.edu.cn/showproblem.php?pid=2112

有一种力量叫乐观 750

hdu 2112 HDU Today <迪杰斯特拉算法+map函数>

HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 19697    Accepted Submission(s): 4635 Problem Description 经过锦囊相助,海东集团终于度过了危机

dxx_111的博客 1732

【最短路+模板题】杭电 hdu 2112 HDU Today

/* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------------------// Copyright (c) 2011 panyanyany All rights reserved. URL : http://acm.hdu.edu.c

panyanyany(飞雨幻沙) 1267

HDU 2112HDU Today(map+djkstra,一种挺有意思的组合)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 题目大意:其实如果将车站编号从英文换成数字,那么这道题就是非常简单的最短路问题了,所以这道题的窍门就是想办法把英文编号转换为数字编号;这道题意思就是给你一个起始车站和终点车站,通过转车站得到起始车站到终点车站的最短距离,若不能到达则输出-1; 上代...

asdfghjkl999999999的博客 185

【HDU Today】【HDU - 2112】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 解题思路:还是求解最小路径,主要增加了map,使地名和编号对应起来。  我写的是用了dijkstra +map 求解的 ac代码: #include&lt;cstdio&gt; #include&lt;algorithm&gt; #include&lt;map&gt; #include...

哇哈哈哈的博客 129

HDU-2112 HDU Today (map+Floyd)

HDU-2112 HDU Today -008 Problem Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强。这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬浦镇陶姚村买了个房子,开始安度晚年了。 这样住了一段时间,徐总对当地的交通还是不太了解。有时很郁闷,想去...

GG_Bond的博客 173

HDU Today (HDU - 2112 )

HDU Today (HDU - 2112 ) 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强。这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬浦镇陶姚村买了个房子,开始安度晚年了。 这样住了一段时间,徐总对当地的交通还是不太了解。有时很郁闷,想去一个地方又不知道应该乘什么公交车,在什么地方...

菜鸡的博客 266

HDU2112 HDU Today

Problem Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强。这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬浦镇陶姚村买了个房子,开始安度晚年了。 这样住了一段时间,徐总对当地的交通还是不太了解。有时很郁闷,想去一个地方又不知道应该乘什么公交车,在什么地方转车,在

逆风小径 766

hdu 2112 HDU Today 最短路spfa+容器map

题意:给出m条路,求给出的两个站的最短路。站名为字符串。 这题题目不难但有几个注意点。一是注意map的使用,要记得清容器。这题有重边,注意重边的处理。注意站的数量最多只有150,路的数量可达到10000。 #include #include #include #include #include #include #define N 170 #define INF 0x7ffffff usin

弱菜zc 1220

HDU2112——HDU Today(map容器+spfa)

经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强。这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬浦镇陶姚村买了个房子,开始安度晚年了。 这样住了一段时间,徐总对当地的交通还是不太了解。有时很郁闷,想去一个地方又不知道应该乘什么公交车,在什么地方转车,在什么地方下车(其实徐总自己有车,却一定要与民同乐,这就是徐总的性格)。 徐总经常会问蹩脚的英文问路:“Can you help me?”。看着他那迷茫而又无

WAR___NING的专栏 607

HDU2112 - HDU Today - 最短路dijkstra+map映射

1.题目描述: HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 27903    Accepted Submission(s): 6782 Problem Description 经

终有绿洲摇曳在沙漠 435
上一篇: poj2513Colored Sticks trie+merge_set+Eular
下一篇: poj3352Road Construction 边双连通+伪缩点
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值