精华内容
下载资源
问答
  • 【字符串 Hash】【DP】 HDU - 5763 Another Meaning【串s2可用第二种意思替换,问串一这句话可能有几种含义】 As is known to all, in many cases, a word has two meanings. Such as “hehe”, which not only ...

    【字符串 Hash】【DP】 HDU - 5763 Another Meaning【串二可用第二种意思替换,问串一这句话可能有几种含义】

    As is known to all, in many cases, a word has two meanings. Such as “hehe”, which not only means “hehe”, but also means “excuse me”.
    Today, ?? is chating with MeiZi online, MeiZi sends a sentence A to ??. ?? is so smart that he knows the word B in the sentence has two meanings. He wants to know how many kinds of meanings MeiZi can express.

    Input
    The first line of the input gives the number of test cases T; T test cases follow.
    Each test case contains two strings A and B, A means the sentence MeiZi sends to ??, B means the word B which has two menaings. string only contains lowercase letters.

    Limits
    T <= 30
    |A| <= 100000
    |B| <= |A|

    Output
    For each test case, output one line containing “Case #x: y” (without quotes) , where x is the test case number (starting from 1) and y is the number of the different meaning of this sentence may be. Since this number may be quite large, you should output the answer modulo 1000000007.

    Sample Input
    4
    hehehe
    hehe
    woquxizaolehehe
    woquxizaole
    hehehehe
    hehe
    owoadiuhzgneninougur
    iehiehieh

    Sample Output
    Case #1: 3
    Case #2: 2
    Case #3: 5
    Case #4: 1

    Hint
    In the first case, “ hehehe” can have 3 meaings: “he”, “he”, “hehehe”.
    In the third case, “hehehehe” can have 5 meaings: “hehe”, “he*he”, “hehe”, “**”, “hehehehe”.

    题意:

    str1是一句话,str2可以被别的意思替换,(比如样例中,hehe可以是“呵呵”, 也可以是“o( ̄︶ ̄)o”,emmmm)。
    问str1这句话可能有几种含义?

    思路:

    • dp[i]表示以第i位结尾的字符串有几种意思
    • dp[0] = 1
    • 末尾的单词不能被匹配:dp[i] = dp[i - 1] //只能跟着前面的来解释,不可以被替换,所以dp不改变
    • 末尾后缀可以被str2(长度为m)替换:dp[i] = dp[i - m] + dp[i-1]//种类为被替换和不被替换两种加在一起
    • 判断末尾m位能否和str2匹配,可以用hash或者KMP解决

    AC代码:

    #include <iostream>
    #include <stdio.h>
    #include <string>
    #include <string.h>
    #include <set>
    #include <map>
    
    using namespace std;
    
    typedef long long LL;
    typedef unsigned long long ULL;
    
    const int maxn = 100005;
    const int MOD = 1000000007;
    ULL H[maxn], P[maxn], base = 27;
    int dp[maxn];
    char s1[maxn], s2[maxn];
    
    void Hash(char s[])
    {
        int len = strlen(s + 1);
        H[0] = 0;
        P[0] = 1;
        for(int i = 1; i <= len; i++)
        {
            H[i] = H[i - 1] * base + s[i] - 'a' + 1;
            P[i] = P[i - 1] * base;
        }
    }
    
    ULL GetHash(int l, int r)
    {
        return H[r] - H[l - 1] * P[r - l + 1];
    }
    
    
    
    int main()
    {
        int t;
        scanf("%d", &t);
        for(int ks = 1; ks <= t; ks++)
        {
            scanf("%s%s", s1 + 1, s2 + 1);
            int l1 = strlen(s1 + 1), l2 = strlen(s2 + 1);
            Hash(s2);
            ULL a2 = GetHash(1, l2);
            Hash(s1);
            dp[0] = 1;
            for(int i = 1; i <= l1; i++)
            {
                if(i < l2)
                {
                    dp[i] = dp[i - 1];
                    continue ;
                }
                ULL a1 = GetHash(i - l2 + 1, i);
                if(a1 == a2)
                    dp[i] = (dp[i - l2] + dp[i - 1]) % MOD;
                else
                    dp[i] = dp[i - 1];
            }
            printf("Case #%d: %d\n", ks, dp[l1]);
        }
        return 0;
    }
    展开全文
  • tensorboard学习—— 解决tensorboard attempted to bind to port 6006,but it was already in use问题的几种方法 在用tensorboard查看训练生成结果时,指令为 遇到如下错误: 字面意思是端口6006被占用中,如下...

    tensorboard学习—— 解决tensorboard attempted to bind to port 6006,but it was already in use问题的几种方法

    在用tensorboard查看训练生成结果时,指令为
    ./ 后为自己的路径
    遇到如下错误:
    在这里插入图片描述字面意思是端口6006被占用中,有如下解决方法:
    解决方法一:

    搜索网上的参考解决方案是:

    在终端输入

    lsof -i:6006

    这时候在终端会发现:
    在这里插入图片描述
    使用命令kill-9 3723 (3723来自ubuntu前边的那个数字)
    然后再输入之前的命令(亲测好使)

    解决方法二:

    (插句话,如果你是在windows下运行的,建议使用谷歌浏览器,且版本高些。参考:tensorboard无法打开)

    指定一个新的端口来查看

    tensorboard --logdir=yourpath/train_dir --port=6008

    参考我写的指令,给port指明一个新的端口号来查看,比如端口号:8800

    倘若你上网使用的是代理,仍遇到上面报的错误,请先将你的上网代理关闭。

    转载自:https://blog.csdn.net/c20081052/article/details/81974847

    展开全文
  • 代码检视的几种实践

    千次阅读 2014-06-10 09:42:06
     这年,我用过不同的代码检视工具,并且我相信一套代码检视方法是最好的,下面是我所学到的。  代码检视的方法:  ● 无代码检视  每个开发者自由的check in代码,且每个人都可以检查check in代码...

      代码检视每个读次文章的人都会知道是什么意思。我们项目也是坚持在做代码检视。今天我们仔细深入看看代码检视的内涵及作用。

      这几年,我用过不同的代码检视工具,并且我相信有一套代码检视方法是最好的,下面是我所学到的。

      有三种代码检视的方法:

      ● 无代码检视

      每个开发者自由的check in代码,且每个人都可以检查check in代码的功能清单,只要他愿意,没有责任与义务的区分。

      ● 非阻塞式代码检视

      当代码check in后,检视者根据修改清单,在某个时间点到代码库上去检视修改的代码。这种检视方式不能阻止坏的代码被check in到代码库上区。

      ● 阻塞式代码检视

      这种检视方式式代码提交者通知检视者检视代码,代码在没有得到检视者同意之前不能提交到代码库。

      让我们先来看第一种无代码检视,我坚持认为没有代码检视的软件开发,最终将会是一堆烂代码,不管程序员有多牛多有经验。即使你是很牛的程序员,你不可能在所有时间都输出高质量代码。月有圆缺,潮汐有涨落,程序员交付的代码质量也符合这个规律的。

      当使用阻塞式检视方法的时候,代码提交者不能提交代码,除非监视者认为代码质量已经符合要求。

      当使用非阻塞式检视方法的时候,代码会被立即提交到代码库,但是检视者可以在受到通知后检视代码,我建议做一个提醒系统,不断提醒那些懒惰的检视者要完成代码检视。

      按照我的经验来看,非阻塞式的代码检视是可行的,在讨论这个之前,我们先讨论一下代码检视到底能做什么。因为我发现很多次人们从感觉上认识到的代码检视的作用,与实际的不一致。

      这里有几点事实:

      ● 代码检视不能发现你代码中的严重bug

      听到这个你会很沮丧,但这是现实。当你的项目越来越复杂的时候,你做了一个更改,你不能从检视者那里得到一个意见,说:如果servlet接受20个请求,死锁将会发生在A.java的723行和B.java的1410行".取而代之的是,你会觉得代码检视者的意见像是花瓶,可有可无。

      ● 代码检视者能够督促你认真写代码

      你知道你的代码将会被很多双眼睛盯着,所以你会花额外多的时间让代码可读性更好。

      我发现赞成阻塞式检视方法的人,通常会觉得太多自由是导致代码质量差的原因。有一种观点是:如果检视者不带着一种强烈的责任感去检视代码,那么检视者就会松懈然后检视就完成不了。

      首先,我的经验告诉我,这个观点是不正确的。我发现在使用非阻塞方法的项目中,检视者也非常努力的检视,通常在少于一周的时间完成检视任务。

      不过,不管观点的支持方还是反对方,都存在一个固有的缺陷:我们没有认识到阻塞式检视和非阻塞式检视都式依赖你的团队(或者项目的检视规则)。

      在阻塞式检视场景下,当你要提交代码时候,你依赖于检视者,他要意识到你一直在等着他来检视代码,除此外没有别的事情可做。如果不是有这个压力在,监视者可能要几天之后才能检视你的代码,因为他可能别检视任务淹没了,可能他会认为代码提交者会找一些其他事情做,为了在等待检视的时候不闲着。

      我们可以汇总阻塞式检视的问题:

      我没有实践过阻塞式代码检视,这些问题是从实施阻塞式代码检视的团队中反馈出来的。

      ● 等待检视完成的过程中,开发者被阻塞了,什么事情也干不了。

      ● 开发者会一次尽可能提交多的代码,因为他们不想经常被阻塞,经常被中断。

      ● 代码太多了会给检视者带来问题,他们要花更多的时间去读懂代码,开发者被阻塞的时间也更长。因此就进入了恶性循环。

      相比之下,非阻塞式的代码检视方法会更好一些。

      我认为非阻塞检视方法能够解决上面阻塞式检视方法的所有问题。

      ● 监视者不会阻塞开发者的工作。

      ● 我会花多10秒来写注释,因为等会会有人会检视。我发现从未被检视过的代码很晦涩难懂,因为没有一种督促让他将代码写的更易读。

      另外一种对代码检视的实践方法是结对编程,这个最近似乎很流行但是又似乎实践不起来。

      结对编程是阻塞式代码检视方法和非阻塞式代码检视方法的中间态,检视者不会阻塞开发者,因为他们一起开发。

      结对编程似乎是代码检视的最佳实践,但是结对编程也有缺点:

      假如结对的两个人能力差距很悬殊,则不如非阻塞式,因为能力强的这个人的生产率被能力弱的拉下来了。

      对于结对编程看看项目组的具体情况来实施,针对一些核心业务逻辑的代码,可以找两个能力相当且都对业务比较熟悉的开发者来实现,这种效果比较好,在开发代码的同时也做到了代码检视的效果。

      总结起来说,代码检视是项目中必须要做一件事情,通常我们推荐非阻塞式代码检视,对于核心业务,建议使用结对编程。

    展开全文
  • 常用的类BufferedReader,Scanner。 1、功能最强大的是利用 Scanner 实现从键盘读入数据(jdk1.5以后)  Scanner scan = new Scanner(System.in);  new是创建一个对象,程序中new的意思是创建了一个...

    java里面处理输入输出当然是IO流,大多是通过定义输入输出流对象。常用的类有BufferedReader,Scanner。

    1、功能最强大的是利用 Scanner 实现从键盘读入数据(jdk1.5以后)

          Scanner scan = new Scanner(System.in);

          new是创建一个对象,程序中new的意思是创建了一个Scanner类的对象scan.在创建Scanner类的对象时,需要用System.in 作为它的参数,也可以看作是System.in取得用户输入的内容后,交给Scanner来作一些处理.

          Scanner类中提供了多个方法:
          next():取得一个字符串;
          nextInt():将取得的字符串转换成int类型的整数;
          nextFloat():将取得的字符串转换成float型;
          nextBoolean():将取得的字符串转换成boolean型;

          但是里面有一些注意点一般在IO知识点前是暂时回避的。

          其中:next 方法遇见第一个有效字符(非空格、换行字符)时,开始执行扫描,而当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描。(这里面有一个方法useDelimiter可以自己设置结束符。)

           nextLine此扫描器执行当前行,并返回跳过的输入信息。 此方法返回当前行的其余部分,不包括结尾处的行分隔符。当前位置移至下一行的行首。

            教学中发现有些孩子在学习中就是想输入char型的东西来判断。而Scanner类的方法中确只提供String类型,其实这是十分科学和有用途的。其实我们在实际工作中最为常用的就是字符串,所以人家java才提供这种类型的方法。
            用Scanner获得用户的输入非常的强大,但是Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键时,Scanner就会返回下一个输入.

            当你输入的内容中间包括空格时,显然,使用Scanner就不能完整的获得你输入的字符串.这时候我们可以考虑使用BufferedReader类取得输入.其实在jdk 1.4以前的版本中,没有提供Scanner方法,我们获得输入时也是使用BufferReader的.

    2、利用 BufferedReader实现从键盘读入


    3、System.in提供的 read方法每次只能读取一个字节的数据,而我们平时所应用的通常是读取一个字符串或者是一个数字,所以read方法所以提供的功能,对我们来说并没有太大的用处.
            System.in.read();----注意这是字节而不是字符(所以中文无法出来,这就是偶从来不用它的原因,如果你非要用一般咱也不拦你,自己看着办吧。)



    展开全文
  • 题目的意思就是在一棵BST中找到一个数X,然后得到这个数是第大的(千万不要理解成找第X个大的数了) 然后我们就可以利用BST的特点来求解:中序遍历为有序序列 那么问题就转换成了在有序序列中找一个数,这时候...
  • hbase region in transition

    2020-06-03 18:36:37
    从字面意思来看,Region-In-Transition说的是Region变迁机制,实际上是指在一次特定操作行为中Region状态的变迁,那这里就涉及这么个问题:Region存在多少状态?HBase哪些操作会触发Region状态变迁?一次正常...
  • 1. 北邮计算机类个学院,它们之间什么区别? 2. 北邮不同学院的相同专业什么相同或不同之处? 3. 计算机科学与技术专业和电子信息专业什么区别? 4. 北邮夏令营吗? 5. 什么是组?报组是什么意思? 6....
  • Python字典的遍历方法几种,其中一种是for...in,这个我就不说明,在Python了几乎随处都可见for...in。下面说的这种遍历方式是item()方法。item()item()方法把字典中每对key和value组成一个元组,并把这些元组...
  • 题意:n个星球(编号0到n-1),有些星球之间路径相连,且每个星球都一个power值。每个星球可以求助,它会选择与它...现在,给出两操作query a和destroy a b,前者的意思是问星球a会向哪个星球求助(不能求助输...
  • IDEA 删除java类的3提示 ...Safe delete (with usage search) Search in comments ...选中状态,删除前IDEA会搜寻项目中是否有使用到这个文件的其它文件,如果有相关文件会提醒有几处被使用,并且列出以下三个按钮: (1)
  • 写Vue组件时候忽然报错,原来以下几种: 组件,不能和html标签重复 如上的意思是table重名了 由于在模板需要插入到 DOM 中,所以模板中的标签名必须能够被 DOM 正确地解析。主要三种情况: 一是完全不合法的...
  • 很显然,上述所谓的迭代计划只不过是将项目分解为个里程碑而已,而真正迭代的意思是,每一个迭代都经历一次完整的软件生命周期。什么意思意思是,每一次迭代都需求、分析、设计、实施。也就是说,每一次迭代的...
  • 题意:题目的意思就是城市,穷和富,要富的运到穷的里面问你最多能建条路。 思路:就是按穷的递增序列来找富的城市里的最大上升子序列。就是LIS法,因为500000个数据所以用普通的方法肯定超时,那么就用...
  • VT-xisdisabledintheBIOS的意思是VT-X虚拟化技术处于禁止关闭状态,此时有几种可能 (1)电脑BIOS中没有开启CPU虚拟化技术,需要在电脑主板BIOS中开启CPU虚拟化技术 thinkpad重启F1进入BIOS,选择: Sercurity=>...
  • Paging of Large Resultsets in ASP.NET中对几种常见的分页方式做了比较感觉写得不错,前段时间因为要做asp.net分页,就想到了这篇文章,但经过测试后发现不少问题,虽然按照留言的介绍和自己的努力做了些修改,最终...
  • 里面包括了老生常谈的饿汉式,懒汉式以及枚举类 静态代码块 序列化场景下,多线程场景下的问题。...package 单例模式的几种写法.饿汉式; /** * @Author:FuYouJie * @Date Create in 2020/1/23 13:32...
  • 二十三设计模式【PDF版】

    热门讨论 2011-05-30 14:13:49
    有几种画法?艺术大家通常是创造出自己的套路,比如明末清初,水墨画法开始成熟,这时画树就不用勾勒这个模式了,而是一笔 下去,浓淡几个叶子,待毛笔的水墨要干枯时,画一下树干,这样,一个活生写意的树就画出来. 我上面...
  • 我的父母都会不认同的状态,他们觉得大四再找工作不行么?为啥要翘课实习?但是他们不知道的是,如果你的目标是一线互联网公司如BAT(那时候TMD还没起来)这些都是大三就...
  • Stateful Session Bean 与 Stateless Session Bean ,这两的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会一个相对应...
  • 这样实现的队列入队和出队的平摊复杂度都还是O(1), 比上面的几种方法要好。3.在c语言库函数中将一个字符转换成整型的函数是atool()吗,这个函数的原型是什么? 函数名: atol 功能: 把字符串转换成长整型数 用法: ...
  • Cross Validation

    2012-06-06 11:50:48
    Cross Validation,中文意思是交叉验证,下面是几种不同类型的Cross validation的解释,一个Idea in p27 in the ideas notebook。 Cross validation is a model evaluation method that is better than residuals...
  • MySQL面试题

    2019-11-15 11:56:24
    文章目录MysqlMysql几种锁MySQL中哪些引擎MyISAM和InnoDB两者区别:InnoDB支持的四种事务隔离级别,以及之间的区别?主键和候选键什么区别?你怎么看到为表格定义的所有索引?LIKE声明中的%和_是什么意思?...
  • [GYCTF2020]Ezsqli

    2020-12-16 12:02:33
    知识点 SQL注入 绕过information的过滤...这题可以替代information_schema有几种方式,但是我踩了一个坑。这题的表有2个:f1ag_1s_h3r3_hhhhh和users233333333333333,这题可以用来替代information_schema的有三个: s
  • 天项目在运行的时候数据库数据插入突然报:ORA-01653: unable to extend table HSDC.ADDRESS by 128 in tablespace DATACENTER大概的意思是说HSDC表空间不足了,在网上搜了一下出现这种表空间不足的问题一般两...
  • 在用android studio(v3.6.1)运行项目时,出现以下提示(warning)信息: Deprecated Gradle features were used in this build, making it ...在网上搜索一通后,主要有几种方法: 使用项目下自带的gradle.bat(windows平
  • 对多态的理解

    2016-09-18 16:04:43
    对多态的理解,结合《Think in java》和《深入理解JVM》 观点认为:因为重载是静态的(编译阶段就已经确定调用的方法版本,...理解多态就要理解下面这个词的意思:向上转型和后期绑定。 在《Think in java》中
  • 容器这个概念不妨就按照字面意思来理解,指能将一些元素组织在一起的一数据结构,你可以通过 in 或者 not in 这样的关键字判断某个指定的元素是否包含在容器中。通常来说,容器会将所有的元素都存放到内存中,但也...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 134
精华内容 53
关键字:

in有几种意思