POJ 3007 Organize Your Train part II

超详细!思岚S2激光雷达hector_mapping建图 使用思岚S2激光雷达,在ros平台上利用hector_mapping功能包实现建图功能 阅读详情

         这题题意转化一下,给一个字符串,然后从任意位置把这个串分成两个子串(都不是空串),然后两个串a,b得到他们的反串c,d。最后得到8种组合ab,ad,cb,cd,ba,da,bc,cd。问最终可以得到多少种字符串。

               用STL神马的会超时,所以用hash。于是写了个静态链表,1Y~

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int prime=5001;
char strtable[1000][100];
struct T
{
    int no;
    int next;
};
T hash[10000];
int lh,lc;
int val(char *str)
{
    int s,i;
    i=0;
    s=0;
    while (str[i])
    {
        s+=str[i];
        i++;
    }
    return s;
}
bool find(char *str)
{
    int vs,t;
    vs=val(str);
    vs%=prime;
    if (hash[vs].no == -1)
    {
        hash[vs].no=lc;
        strcpy(strtable[lc],str);
        lc++;
        return false;
    }
    t=vs;
    while (hash[t].no != -1)
    {
        if (strcmp(strtable[hash[t].no],str) == 0)
            return true;
        if (hash[t].next == -1)
        {
            hash[t].next=lh;
            hash[lh].no=lc;
            strcpy(strtable[lc],str);
            lc++;
            hash[lh].next=-1;
            lh++;
            return false;
        }
        t=hash[t].next;
    }
    return false;
}
int main()
{
    int prob,ls,i,j,lt,ans;
    char str[100],ts[100];
    scanf("%d",&prob);
    getchar();
    while (prob--)
    {
        scanf("%s",str);
        ls=strlen(str);
        lh=prime;
        lc=0;
        ans=0;
        for (i=0; i<10000; i++)
        {
            hash[i].no=-1;
            hash[i].next=-1;
        }
        for (i=1; i<=ls-1; i++)
        {
            lt=0;
            for (j=i-1; j>=0; j--)
            {
                ts[lt++]=str[j];
            }
            for (j=i; j<ls; j++)
            {
                ts[lt++]=str[j];
            }
            ts[lt]='\0';
            if (find(ts) == false)
            {
                ans++;
            }
            lt=0;
            for (j=0; j<i; j++)
            {
                ts[lt++]=str[j];
            }
            for (j=ls-1; j>=i; j--)
            {
                ts[lt++]=str[j];
            }
            ts[lt]='\0';
            if (find(ts) == false) ans++;
            lt=0;
            for (j=i; j<ls; j++)
            {
                ts[lt++]=str[j];
            }
            for (j=i-1; j>=0; j--)
            {
                ts[lt++]=str[j];
            }
            ts[lt]='\0';
            if (find(ts) == false) ans++;
            lt=0;
            for (j=ls-1; j>=i; j--)
            {
                ts[lt++]=str[j];
            }
            for (j=0; j<i; j++)
            {
                ts[lt++]=str[j];
            }
            ts[lt]='\0';
            if (find(ts) == false) ans++;
            lt=0;
            for (j=0; j<i; j++)
            {
                ts[lt++]=str[j];
            }
            for (j=i; j<ls; j++)
            {
                ts[lt++]=str[j];
            }
            ts[lt]='\0';
            if (find(ts) == false) ans++;
            lt=0;
            for (j=i; j<ls; j++)
            {
                ts[lt++]=str[j];
            }
            for (j=0; j<i; j++)
            {
                ts[lt++]=str[j];
            }
            ts[lt]='\0';
            if (find(ts) == false) ans++;
            lt=0;
            for (j=ls-1; j>=i; j--)
            {
                ts[lt++]=str[j];
            }
            for (j=i-1; j>=0; j--)
            {
                ts[lt++]=str[j];
            }
            ts[lt]='\0';
            if (find(ts) == false) ans++;
            lt=0;
            for (j=i-1; j>=0; j--)
            {
                ts[lt++]=str[j];
            }
            for (j=ls-1; j>=i; j--)
            {
                ts[lt++]=str[j];
            }
            ts[lt]='\0';
            if (find(ts) == false) ans++;

        }
        printf("%d\n",ans);
    }
}


HP SPP download 是一个全面的系统软件和固件更新解决方案,以单个ISO映像的形式提供。该解决方案使用智能更新管理器(SUM)作为部署工具。 阅读详情

相关推荐

IMU自动校准论文与代码实现A Robust and Easy to Implement Method for IMU Calibration without External Equipments

PART1 摘要 低成本的惯性测量单元会受到系统误差的影响,系统误差由标度因子和轴偏差造成,这会降低位置和姿态估计的精度。 本文提出了一种无需任何外部设备的,鲁棒性强,易于实现的IMU校准方法。 该程序基于多放置方案,再估计传感器偏差的同时,为加速度和陀螺仪三轴的尺度和偏差系数。我们的方法只需要用手移动传感器,并将其放置在一组不同的静态位置(姿态)。 论文描述了一个鲁棒的快速校准协议,...

qq_29313679的博客 5308

poj 3007Organize Your Train part II

Organize Your Train part II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8089   Accepted: 2342 Description RJ Freight, a Japanese railroad company for f

樱花满地集于我心,楪舞纷飞祈愿相随 909

Windows10完美驱动Apple Studio Display:从雷电接口到亮度调节全攻略

本文详细介绍了如何在Windows10系统上完美驱动Apple Studio Display,涵盖雷电接口兼容性、亮度调节及色彩管理等关键问题。通过实测对比不同转接方案和显卡兼容性,推荐使用贝尔金VR线和NVIDIA GTX-1660显卡,并提供了BootCamp驱动安装和亮度调节的终极解决方案,帮助用户实现最佳显示效果。

elastic6hunter的博客 1122

POJ 3007 - Organize Your Train part II

Language: Default日本語 Organize Your Train part II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8086   Accepted: 2339 Description RJ Freight, a Japanese

不得不放弃、 1352

Trae CN 使用入门指南

【代码】Trae CN 使用入门指南。

weixin_42551921的博客 8770

利用VS2019编写安卓APP的步骤和所遇问题的解决办法

遇到了代码错误,这个可以将鼠标箭头置于错误代码处,这样VS2019给你解决办法,给的方法不能解决,并且读了程序都没有问题,那么你应该重启软件,这样还是不能解决,你尝试重新生成解决方案,还是不能解决有可能是运用的代码与当前版本不相符和、过时了,这个时候应当运用相应版本的代码。注:VS2019编写APP的空间不是很稳定,当你写的代码没有问题,但是出现了报错,可能是空间崩溃了,这个时候可以重启软件。点击“+”号,创建密钥存储,输入“别名”、“密码”、以及下面中的任意一项,直至红色框消失后。

youbestcando的博客 7814

POJ 3007.Organize Your Train part II

题目:http://poj.org/problem?id=3007 AC代码(C++): #include #include #include #include #include #include #define INF 0x3f3f3f3f using namespace std; int cnt; char strs[1000][80]; bool isEx

njyexiong的博客 236

(01)ORB-SLAM2源码无死角解析-(38) EPnP 算法原理详解→理论基础二:分情况求得beta初始解

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析链接如下(本文内容来自计算机视觉life ORB-SLAM2 课程课件): (01)ORB-SLAM2源码无死角解析-(00)目录_最新无死角讲解:https://blog.youkuaiyun.com/weixin_43013761/article/details/123092196 文末正下方中心提供了本人联系方式,点击本人照片即可显示WX→官方认证{\color{blue}{文末正下方中心}

江南才尽江南山,年少无知年少狂! 1025

[POJ 3007]Organize Your Train part II[Hash][Trie]

题目链接:[POJ 3007]Organize Your Train part II[Hash][Trie] 题意分析: 将字符串任意分割两半。可进行下列操作:1.互换两半的位置;2.将其中一个反转。每次操作次数不限。 问:给出的字符串,一共能产生多少个不同的字符串? 解题思路: 搞搞搞~先看看分成两半都有什么情况,发现总共有八种组合,我们用s串记录没有前后交换过位置的字符串,t串记录交

闲停 590

YOLO26科研优化:多损失函数(EIoU、SIoU等)融合,让边界框回归精度再上台阶

将原有损失函数替换为我们编写的MultiLoss。例如,在bbox_loss。

LXY_LOVE36的博客 172

激光雷达点云异常现象详解:鬼影、高反膨胀与拖点

现象核心外观主要成因核心硬件对策核心算法对策鬼影位置错误,出现"复制"的物体镜面反射/光学元件间杂散光物理光阑、抗反射涂层多帧时序一致性检验、反射率逻辑判断膨胀尺寸变大,轮廓呈毛刺状信号饱和、像素/通道串扰可变增益控制、随机编码序列强度阈值滤波、几何轮廓拟合(剪裁)拖点边缘粘连,出现"阶梯"或"连线"光斑跨立边缘、双回波融合小光斑光学设计、多回波支持邻域深度突变检测、波形脉宽分析这些异常现象是当前激光雷达感知中的核心难点,通常需要硬件物理特性优化与上层感知算法。

Fun_LiDAR的博客 304

poj-3007-Organize Your Train part II

Organize Your Train part II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8421   Accepted: 2407 Description RJ Freight, a Japanese railroad company for fre

Ninaye的博客 831

[SoC]SoC验证中bootcode与firmware相关验证经验总结

本文总结了SoC验证中bootcode和firmware的验证经验。重点介绍了两种数据加载方法:1)使用Verilog系统函数$readmemh/$readmemb直接写入ROM/ARAM,需注意文件路径、格式和斜杠方向;2)通过Memory Hierarchy在initial块中操作,需要添加适当延时并注意路径拼接。文章还提供了在testcase phase中先读取数据到HASH再写入SRAM的示例,并强调加载后需使能edc_bypass以避免ECC错误。验证过程中需特别注意文件位置、格式要求及路径处理等

元直的博客 2498

poj 3007 Organize Your Train part II

题意:给你一个字符串,通过翻转能得到多少种不同的字符串。 思路:其实这题刚一读完题感觉很繁琐,但是仔细研究一下题目中给出的例子会发现也不是那么复杂,或许是看了ZJH的博客后,突然想通了,感觉复杂例子,也可以将它分类简单化。 例如给你字符串:abcdef,第一种情况是串本身,第二种情况是bacdef,第三种情况是:bafedc,第四种情况是:abfedc,然后分别对这四种情况进行翻转,...

B218707的博客 230

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

poj 3007 Organize Your Train part II(字符串哈希)

题目链接:http://poj.org/problem?id=3007 题意:给出一个字符串,从任意一个地方切开,分成两个字符串s1,s2,然后分别反转成s3,s4,然后将四个字符串任意组合(子串及其反串不可组合),求出所有不同的组合数。 如果用STL的话这题会超时,map什么的都用不了,就自己写了一个丑陋的哈希,设计的哈希函数也比较简单,47ms才过。 #include #include

To be excellent! 1619

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Organize Your Train part II poj 3007 枚举

Organize Your Train part II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8377   Accepted: 2395 Description RJ Freight, a Japanese railroad company for fre

Believe in the Future的专栏 369

【POJ 3007】 Organize Your Train part II (字符串HASH)

【POJ 3007】 Organize Your Train part II (字符串HASH) Organize Your Train part II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7559   Accepted: 2193

ACMer' 1218

POJ3007 Organize Your Train part II

Hash表来做,key值,链地址法。key公式等于字符串中所有字符asc2码乘对应位数的和 需要的函数 1.将s拆分为s1,s2 2.反转字符串 3.俩字符串合并 4.计算k值 5.建立并生成hash表函数 如果当前hash[key]不存在,则新建立,count++ 如果当前存在 新hash对象指向该hash[key],检验是否相同,如果相同的结束函数,否则存在下一个时,

Rainto的专栏 1060

POJ3007-Organize Your Train part II

全解题报告索引目录 -> 【北大ACM – POJ试题分类】 转载请注明出处:http://exp-blog.com ------------------------------------------------------------------------- 大致题意: 给定一个字符串,从任意位置把它切为两半,得到两条子串 定义 子串1为s1,子串2为s2,子串1...

ζёСяêτ - 小優YoU 3996

POJ3007--Organize Your Train part II

Description RJ Freight, a Japanese railroad company for freight operations has recently constructed exchange lines at Hazawa, Yokohama. The layout of the lines is shown in Figure 1. Figure 1: La

SCUT_Pein 1474

poj3007Organize Your Train part II

http://poj.org/problem?id=3007 静态的trie树 静cz提醒 把初始化改了改 不TLE了 分8种情况讨论 有一种就是与源串相同放在最后处理就行 View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #incl...

weixin_30480651的博客 93

POJ_3007_Organize Your Train part II

/* 穷举每一种情况并记录,关键的问题是如何减少时间。对每一种切分,总共有8种组合: 前缀正+后缀正;前缀正+后缀反;前缀反+后缀正;前缀反+后缀反; 后缀正+前缀正;后缀正+前缀反;后缀反+前缀正;后缀反+前缀反; 其中,每种切分子式共4种:前缀正、前缀反、后缀正、后缀反。 另外,不论哪种切分:“前缀正+后缀正”与“后缀反+前缀反”均相同,只需统计一次 (另外,这道题用map超时,但是用普通

HOH_mizukun的博客 573

POJ 3007Organize Your Train part II(水题)

Organize Your Train part II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8394   Accepted: 2402 Description RJ Freight, a Japanese railroad company for fre

提拉米苏的博客 2051

POJ Organize Your Train part II 3007

Organize Your Train part II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8277   Accepted: 2369 Description RJ Freight, a Japanese railroad company for f

原点 905
上一篇: OpenGL织梦之旅【第三章】第4节.glut键盘鼠标响应
下一篇: Linux系统下的OpenGL图形程序框架
plusplus7
博客等级 码龄15年 59粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值