hdu 4409 Family Name List 金华赛区1010 (解题报告)

【零基础教程】HEC-RAS 1D/2D全流程模拟指南|从水动力到水质建模一次搞定! HEC-RAS由美国陆军工程兵团水文研究中心研制,具有完整的一二维耦合的水动力及水环境模拟功能,也具有闸、涵洞、桥梁以及泵站等水利构筑物的模拟能力;同时也可以与HEC研制的水文模型(HMS)、洪水淹没风险和损失分析软件(FDA)等耦合,是免费软件中使用最方便、应用最广泛的软件之一。2.HEC-RAS与HEC-HMS的耦合(不详细讲HEC-HMS)3.淹没风险分析软件HEC-FDA与HEC-RAS耦合。案例十八:HEC-RAS与HEC-HMS的耦合。案例十九:HEC-RAS与HEC-FDA的耦合。 阅读详情

金华赛区区域赛最后一题,比赛完后就马上给A了 = =! 哎~~~

#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 30000 +5 ;
//46MS 13568K 3213 B 

//字典树+模拟,这题真心无语了,比赛时就被题意坑了,在c询问的时候,我考虑了a是b的
//父节点的情况,一直WA。。。那种情况是不要考虑的。 
int in[65],father[65];
char s1[65],s2[65];

struct node{
    int fa,sum;
    char name[65];
    vector<int> g;   
}q[N];

struct tree{
	int cnt,no;
	tree *a[27*3];
	tree(){//初始化
		cnt=0,no=0;
		memset(a,NULL,sizeof(a));
	}
}*h;

bool cmp(int a,int b){
     if(strcmp(q[a].name,q[b].name)>0) return false;
     else return true;
}

void prin(int i){
	int j;
    puts(q[i].name);
    if(q[i].sum){
        sort(q[i].g.begin(),q[i].g.end(),cmp);
        for(j=0;j<q[i].sum;j++){
            prin(q[i].g[j]);
        }
    }
}
int getid(char cc){
    if(cc>='0' && cc<='9') return cc-'0';
	else if(cc>='a' && cc<='z') return cc-'a'+10;
	else return cc-'A'+36;
}

void bd(tree *root,char *ss,int k){
	tree *p=root;
	int i=0,id;
	while(ss[i]){
		if(ss[i]=='.' || ss[i]==' '){i++;continue;}
		id=getid(ss[i]);
		if(p->a[id]==NULL) p->a[id]=new tree();
		//建立新的结构体指针
		p=p->a[id];
		p->cnt++;//每次经过都+1
		i++;
	}
	p->no=k;
}

int ask(char *ss,tree *p){
	int l=strlen(ss);
	int k=0;
	while(k<l){
		if(ss[k]=='.'|| ss[k]==' '){ k++; continue;}
		int id=getid(ss[k]);
		if(p->a[id]==NULL ) return 0;
		else p=p->a[id];
		k++;
	}
	return p->no;
}
int main()
{
    int n,m,i,j;
    while(scanf("%d",&n)!=EOF,n){
        for(i=0;i<62;i++) in[i]=-1;
        for(i=0;i<n;i++) {q[i].g.clear();q[i].sum=0;q[i].fa=0;}
        h=new tree();
		getchar();
        for(i=0;i<n;i++){	
            gets(q[i].name);//puts(q[i].name);
            int w=0;
            while(q[i].name[w]=='.') w++;
            bd(h,q[i].name,i);
            in[w]=i;
            if(i==0) q[i].fa=-1;
            else{
                 while(in[--w]==-1);
                 q[i].fa=in[w];
                 q[in[w]].g.push_back(i);
                 q[in[w]].sum++;
            }
        }
        scanf("%d",&m);
        int no1,no2,no3;
        char c;
        while(m--){
            getchar();
            scanf("%c",&c);//printf("%c ",c);
            if(c=='L') prin(0);
            else if(c=='b'){
                 scanf("%s",s1);//puts(s1);
                 no1=-1;
                 no1=ask(s1,h);
				 if(no1==0) puts("1");
				 else if(no1==-1) puts("0");
				 else printf("%d\n",q[q[no1].fa].sum);
            }
            else if(c=='c'){
                 scanf("%s%s",s1,s2);// puts(s1);puts(s2);
                 no1=ask(s1,h);
                 no2=ask(s2,h);//printf("%d %d\n",no1,no2);

				 j=0,no3=-1;
                 while(q[no1].fa!=-1){ father[j++]=q[no1].fa; no1=q[no1].fa;}
				 while(q[no2].fa!=-1){
				     for(i=0;i<j;i++){
                         if(q[no2].fa == father[i]){
                             no3=father[i];break;
					     }
					 }
				  	 if(no3!=-1)break;
                     no2=q[no2].fa;
				 }
				 //printf("%d\n",no3);
                 i=0;
                 while(q[no3].name[i]=='.')i++;
				 for(;i<strlen(q[no3].name);i++) printf("%c",q[no3].name[i]);
                 printf("\n");
            } 
        }  
    }  
    return 0;
}


 

整车的智能配电系统 本文探讨了汽车电网安全的重要性,分析了传统汽车电网的现状,并重点介绍了半导体在汽车智能配电系统中的作用。半导体凭借其单向导电性和可控性,如二极管、MOSFET等,提供了更高效、安全的电力控制。通过对比传统保险丝与半导体器件,阐述了半导体在过流保护、电压监测和故障诊断方面的优势,强调其在减少安全隐患、提高能源管理和续航里程方面的贡献。极氪智能配电系统展示了如何运用半导体技术实现整车能源的精细化管理,降低维修成本,减少线束复杂性,提升安全性能。 阅读详情

相关推荐

避开集成插件!手把手教你用URL登录实现Finereport与致远OA的无缝跳转

本文详细介绍了如何通过URL登录机制实现Finereport与致远OA的无缝跳转,无需复杂插件配置。文章涵盖用户体系同步、环境配置、URL登录核心设置及安全加固方案,特别适合企业数字化转型中BI工具与OA系统的轻量化集成需求。

weixin_29215815的博客 74

函数fun的功能是在形参ss所指字符串数组中,删除所有串长超过k 的字符串,然后函数返回所剩字符串的个数。

1

m0_49340058的博客 1918

低成本主从机械臂系统构建:6D位姿数据采集与VLA模型训练实战

本文详细介绍了如何构建低成本主从机械臂系统,实现高精度6D位姿数据采集与VLA模型训练。通过300美元级别的硬件组合,系统达到±1mm位置精度和≤0.5°姿态误差,满足Vision-Language-Action模型的多模态训练需求。文章涵盖硬件选型、数据采集技巧、模型训练实战经验,为机器人研究提供经济高效的解决方案。

r7s8t的博客 265

将字符数组中超过长度为k的串右边删除 C语言

函数fun的功能是:在形参s所指字符串数组中,将所有串长超过k字符串中右边的字符删除,只保留左边的K个字符。ss所指字符串数组中共有N个字符串,且串长小于M。 #include <stdio.h> #include <string.h> #define N 5 #define M 10 void fun(char (*ss)[M], int k){ int i = 0; while (i < N) { ss[i][k] = '\0';

一位打工仔的博客 582

一份针对零基础学习AI Agent详细学习计划

以下是针对零基础学习者制定的AI Agent详细学习计划,结合最新行业动态和实用资源推荐,帮助你从入门到进阶系统掌握核心技能

sexy19910923的博客 1903

HAL库STM32CubeMX+DHT11温湿度传感器模块化驱动与OLED显示实战

本文详细介绍了基于HAL库和STM32CubeMX开发DHT11温湿度传感器模块化驱动的实战过程。通过精确的时序控制和模块化封装,实现了传感器数据采集,并结合OLED显示模块实时展示温湿度信息,为嵌入式开发者提供了完整的解决方案。

h6j7k8l9p0的博客 1131

L - Light Bulbs 解题报告 (隐藏水题)

隐藏的大水题啊!!  the grid points.!! 在网格点上面找。。坑爹。。模拟退火了好久 直接枚举就好了 #include #include #include #include using namespace std; struct deng { double x,y,z,i; };deng d[105]; double dis(int k,int b,in

CSUST_ACM的专栏 2624

FINN vs GFED vs GFAS vs QFED:四大火灾排放清单实战对比(含Python数据处理代码)

本文针对GFED、FINN、GFAS、QFED四大主流火灾排放清单,提供了实战对比分析与Python数据处理代码。通过量化对比东南亚农业火点与亚马逊雨林大火两个典型场景,揭示了不同清单在时空分辨率、算法内核和应用场景上的核心差异,并给出了基于研究目标、区域和模型的清单选择决策框架,帮助研究人员为空气质量模拟或火灾影响评估挑选最合适的数据源。

s3t4u的博客 422

HDU 1540 Tunnel Warfare(平衡树) 解题报告

一道看似线段树的题,用平衡树也破了。。。。 /* * 题意:有N个村庄,相邻点相连,可以毁坏某个点或修复毁坏点,求某点的最大联通点数。 * 方法:平衡树。 * 分析:最最朴素的想法就是把破坏的村庄做一个标记,然后遇到Q的时候,就循环的找一 * 下答案,当然这么做肯定是会超时的设想一下,如果能够很快的找到距离某个点最近的 * 两个被破坏掉的点,那么答案就很容易得到了于是用到了

CSUST_ACM的专栏 2135

【STM32篇】DRV8425驱动步进电机

【STM32篇】在上篇文章中使用了HR4988实现了步进电机的驱动,在实际运用过程,4988驱动步进电机会存在电机噪音太大的现象。本次将向各位友友介绍一个驱动简单且非常静音的一款步进电机驱动IC。

we_long的博客 3067

ArcGIS Pro 3.4 二次开发 - 地理数据库

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下,如何操作地理数据库的多种方法。首先,通过路径打开文件地理数据库,并处理可能出现的异常。其次,使用连接属性或sde文件路径打开企业级地理数据库。此外,还展示了如何从项目项、要素图层中获取地理数据库,以及如何执行SQL语句。最后,文章详细说明了如何从地理数据库中获取单个定义或定义列表,包括表定义、要素类定义、关系类定义和要素数据集定义。这些操作均在后台线程中执行,确保应用程序的响应性。

Winemonk 943

E - Easy Task 解题报告

水题,看懂题意可以,求求导后的每一项的系数 #include int a[1000]; int main() { int cas,n,i; scanf("%d",&cas); while(cas--) { scanf("%d",&n); for(i=n;i>=0;i--) { scanf("%d",&a[i]); } for(i=n;i>=1;i--) {

CSUST_ACM的专栏 2130

HTML5+CSS3+JS小实例:扇形展开折叠菜单

你肯定见过那种圆形浮动按钮(FAB),点一下弹出几个选项。大部分实现就是菜单项从底下往上"弹"出来,排成一列——能用,但没啥记忆点。后来我看到 Path 那个经典的扇形菜单,点一下,五个按钮像花瓣一样从中心散开,每个带不同的延迟和弹性曲线。当时就觉得:这才对嘛,交互就该有点"戏剧性"。今天拆一个纯手写版本,HTML + CSS + JS,不依赖任何库。六菜单项、扇形 144° 展开、弹性过渡、点击关闭、键盘可达——该有的都有。

艾恩小灰灰的博客 164

G - Give Me the Number 解题报告

G题,就是以前做过的字符串专题的差不多的题啊,就是多了个 “and ” 遇到 continue 即可。。。   #include #include char text[35][20]={"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten",// 0 ~ 10 "elev

CSUST_ACM的专栏 2126

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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 4419 Colourful Rectangle 杭州赛区 1010 (解题报告)

杭州赛区最后一题。。。。 最近看线段树还是有收获的·~~~ #include #include #include #include #define ls rt<<1 #define rs rt<<1|1 #define lson l,m,ls #define rson m+1,r,rs #define sf scanf #define pf printf using

CSUST_ACM的专栏 2115

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

J - Just Pour the Water 解题报告

本次比赛隐藏水题之一。。。 估计这题看到 M 10^9 就跪了一半了吧。。。 可是每个操作都是重复的,最多循环到一个程度,值就不会变了,所以用 a[], d[] 两个数组记录前后的两个状态,如果状态不在改变即可 break 了。。。 #include #include #define esp 1e-5 #define sf scanf double a[25],c[25],d[2

CSUST_ACM的专栏 2043

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

线段树与树状数组模版及专题练习

专题练习: http://acm.hdu.edu.cn/webcontest/contest_show.php?cid=1441 密码是: cugbacm     首先是准备工作,以下是常见的线段树初始定义: #include #include using namespace std; typedef __int64 lld; #define ls rt<<1 #define

CSUST_ACM的专栏 2027

C - Colorful Rainbows 解题报告 (双向栈)

先将所给直线按b值排序,b值小的直线若想最后在上面,就必须比当前最小的斜率小,或者比最大的斜率大 所以最小斜率和最大斜率弄2个栈,我是弄一个数组,把起点放在中间 如果斜率满足,就看他是否覆盖了之前的线,类似于凸包中的退栈方法 #include #include #include #include using namespace std; struct deng { double x

CSUST_ACM的专栏 1955

线段树专题:poj 2464 Brownie Points II

非常金典的线段树题目~~~ #include #include #include #define ls rt<<1 #define rs rt<<1|1 #define lson l,m,ls #define rson m+1,r,rs #define sf scanf #define pf printf using namespace std; //非常经典的线段树题目,

CSUST_ACM的专栏 1917

Hdu 1166 敌兵布阵 (树状数组版)

复习下树状数组: #include #include #define sf scanf #define pf printf //my 171ms AC //显然这道题目用树状数组比线段树简单的多,所以再写个树状数组复习下。 const int N=50000+10; int a[N],sum[N]; void add(int i,int j){ while(i

CSUST_ACM的专栏 1781

字符串专题:F - Oulipo (A包含多少次B?KMP)

#include #include char a[1000000+5],b[10000+5]; int next[10000+5],n,m; //题意:A串是否包含B串,包含多少次。 //kmp完全匹配。。。注意next[i]=j中保存的是:b[]中以第i个数(b[i-1])结尾的前j个数(包括b[i-1])匹配b[]的前j个数。。 //即 next[i]=j ->m b[i-j

CSUST_ACM的专栏 1730

线段树专题:hdu 1166敌兵布阵

线段树基础入门题,裸线段树什么的不解释。   //my 187ms AC //第一道自己A过去的线段树~ #include #include #include #define ls rt<<1 #define rs rt<<1|1 #define lson l,m,ls #define rson m+1,r,rs #define sf scanf #define pf

CSUST_ACM的专栏 1674

POJ 1873 The Fortified Forest (计算几何,枚举+凸包)

看了很久了的题了,集训的时候就看过,每棵树有自己的价值和长度,现在要砍掉一些书做成栅栏,来围起剩余的树,并要使砍掉的树价值总和最小。 当时觉得有价值,树也有砍与不砍2种状态,就觉得这是DP,然后在死胡同里绕啊绕~~后来才发现,树2 要从数据量上推算法啊! //Memory: 216K //Time: 172MS #include #include #include #i

CSUST_ACM的专栏 902

字符串专题:C - Inglish-Number (字符串操作基础题)

无脑流,模拟。。。 #include #include char text[35][20]={"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten",// 0 ~ 10 "eleven", "twelve", "thirteen", "fourteen", "fifteen

CSUST_ACM的专栏 863

list

的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。,因此反向迭代器的实现可以借助正向迭代器,即:反向迭代器内部可以包含一个正向迭代器,对正向迭代器的接口进行包装即可。是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。迭代到该位置,在这段位置上迭代需要线性的时间开销;最大的缺陷是不支持任意位置的随机访问,比如:要访问。还需要一些额外的空间,以保存每个节点的相关联信息。个元素,必须从已知的位置。

xie0510_的博客 238

ArrayList 与 LinkedList 底层原理、性能对比

ArrayList 和 LinkedList 是 List 接口下最常用的两个实现类,也是 Java 后端面试高频考点。ArrayList 查询快增删慢,LinkedList 增删快查询慢,但这句话并不完全准确。本文从底层源码出发,分析两者存储结构、操作性能、使用场景,同时拆解常问坑点。为什么 ArrayList 线程不安全?多线程同时 add,可能出现数组越界、元素覆盖丢失。ArrayList 扩容为什么是 1.5 倍?平衡内存浪费与扩容次数,倍数太小频繁扩容拷贝;倍数太大浪费内存。

m0_63990694的博客 362
上一篇: HDU 1540 Tunnel Warfare(平衡树) 解题报告
下一篇: hdu 4419 Colourful Rectangle 杭州赛区 1010 (解题报告)
CSUST_ACM
博客等级 码龄15年 42粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值