首页 > 其他分享 >12.21闲话

12.21闲话

时间:2023-12-21 21:38:27浏览次数:32  
标签:std AC ch int 闲话 12.21 cnt 自动机

推歌

一梦千宵

漫步在 没来过 的街巷

灯火下 看人潮 多熙攘

原来是 过节了 要换装

楼阁也挂满彩帐

买一串 糖葫芦 先尝尝

再挑个 俏铃铛 戴手上

不远处 说书人 开了嗓

约上谁 捧捧场

莺歌蝶舞韶光长

红炉煮茗松花香

旧时华彩今又唱

一夜花灯漾

明宵梦长

借漫天的 烟火斑斓

连同霄灯 许下期盼

只要身边 有你陪伴

往后时光 绝不遗憾

就算世界 太多美好 只一眨眼 就变幻

可回忆 始终璀璨

这一侧 台上谁 起花腔

那一边 又几人 捏面糖

你赶忙 招呼我 少张望

别傻傻跟丢地方

猜是那 仙人们 也一样

会牵手 趁热闹 逛市坊

听海风 徐徐吹 心摇晃

做宵灯 把它放

莺歌蝶舞韶光长

红炉煮茗松花香

旧时华彩今又唱

一夜花灯漾

你我之间 无数牵绊

像这首歌 越唱越暖

哪怕有天 终将分散

相同旅程 也未孤单

就让故事 随着旋律 轻轻地哼 飘天畔

永远都 不会断

一盏一盏 一闪一闪

从手中升起飞去 彼岸

汇成星路一段

牵引迷途的人 启帆

心中的愿 不会暗淡

借漫天的 烟火斑斓

连同霄灯 许下期盼

只要身边 有你陪伴

往后时光 绝不遗憾

就算世界 太多美好 只一眨眼 就变幻

可回忆 始终璀璨

那些一时擦肩而过 错开的你我

也许仍沿相对方向 朝未来穿梭

终有天在某处相遇 最熟悉轮廓

依然是 如此闪烁

今天大概给高一大佬讲了一下题和知识点

首先是链式前向星的相关知识

大佬不止不会链式前向星,甚至不会衔接矩阵讲起来好麻烦

这让我想起了一位树剖边权转点权解法是对于每个点建立3条边的故人

TA懂了链式前向星顺手教了TA传说中的STL容器

然后自己学了学pbds的那几个容器,pbds强强强但是我感觉不如手写Hash和平衡树

其次是给大佬跳题让他意识到getchar会读入'\n'和' '非常有成就感

不过很可惜作为废物的我在学完AC自动机之后我仍然只会打一道板子题,OJ上的第二道我便没看出来

我估计是AC自动机掌握的不够好,那么就又去找了几篇看起来不错的博客

画了几张图研究了一下

稍微搞懂一些感觉好多了

然后就是写了道AC自动机(就是OJ上第二道题QAQ)

病毒

可以rand骗分

多模式串明显AC自动机,我们可以发现正常的AC自动机是去文本串里匹配模式串但是本题明显不是这样的,而本题却希望在文本串里不要出现模式串

想要找到一个无限长的01串可以明显得出需要在AC自动机形成的字典图里面找环,这个环不包含任何一个字符串的末尾同时需要能被根节点访问到

找环直接DFS就行

$My\ Code$
#include<bits/stdc++.h>
using namespace std;
namespace IO{
    inline void close(){std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);}
    inline void Fire(){freopen(".in","r",stdin);freopen(".out","w",stdout);}
    inline int read(){int s = 0,w = 1;char ch = getchar();while(ch<'0'||ch>'9'){ if(ch == '-') w = -1;ch = getchar();}while(ch>='0'&&ch<='9'){ s = s*10+ch-'0';ch = getchar();}return s*w;}
    inline void write(int x){char F[200];int tmp=x>0?x:-x,cnt=0;;if(x<0)putchar('-') ;while(tmp>0){F[cnt++]=tmp%10+'0';tmp/=10;}if(cnt==0)putchar('0');while(cnt>0)putchar(F[--cnt]);putchar(' ');}
}
using namespace IO;
class AC{
public:
    class Trie{
    public:
        int fail,vis[2],end; 
    }Tr[1000000];
    int cnt=1; 
    inline void ins(string s){

        int l=s.length(),q=1;
        for(int i=0;i<l;++i){
            if(!Tr[q].vis[s[i]-'0']) 
                Tr[q].vis[s[i]-'0']=++cnt;
            q=Tr[q].vis[s[i]-'0']; 
        }
        Tr[q].end=1;

    }
    inline void Get(){
        queue<int>Q; 
        Q.push(1);
        Tr[0].vis[0]=Tr[0].vis[1]=1;
        while(!Q.empty()){
            int u=Q.front();
            Q.pop();
            for(int i=0;i<2;++i){
                if(Tr[u].vis[i]){
                    Q.push(Tr[u].vis[i]);
                    int t=Tr[u].fail;
                    while(t && !Tr[t].vis[i])
                        t=Tr[t].fail;
                    Tr[Tr[u].vis[i]].fail=Tr[t].vis[i];
                    Tr[Tr[u].vis[i]].end|=Tr[Tr[t].vis[i]].end;
                }
                else
                    Tr[u].vis[i]=Tr[Tr[u].fail].vis[i];
            }
        }
    }
    // inline int Ask(string s){
    //     int l=s.length(),q=0,ans=0;
    //     for(int i=0;i<l;++i){
    //         q=Tr[q].vis[s[i]-'a'];
    //         for(int t=q;t&&Tr[t].end!=-1;t=Tr[t].fail){
    //             ans+=Tr[t].end;
    //             Tr[t].end=-1;
    //         } 
    //     }
    //     return ans;
    // }
}AC;
bool vis[1000000],inss[1000000];
bool dfs(int x){
    inss[x]=vis[x]=1;
    int y;
    for(int i=0;i<2;i++){
        y=AC.Tr[x].vis[i];
        if(inss[y]||(!vis[y]&&!AC.Tr[y].end&&dfs(y)))
            return 1;
    }
    inss[x]=0;
    return 0;
}
signed main(){
    // freopen("1.in","r",stdin);
    // freopen("1.out","w",stdout);
    string s;
    int m=read();
    for(int i=1;i<=m;++i){
        cin>>s;
        AC.ins(s);
    }
    AC.Get();
    puts(dfs(1)?"TAK":"NIE");
}

标签:std,AC,ch,int,闲话,12.21,cnt,自动机
From: https://www.cnblogs.com/LuoTianYi66ccff/p/17918615.html

相关文章

  • 闲话 2023.12.21
    网易云年度报告今天进行一个好题的分享,感觉我整个尬在台上了,选的题太简单了差点被创汇一的nb人士给切了......
  • 12.21周四每日博客
    今天上课进行了课堂测试软件需求与分析课堂测试十一—综合案例建模分析(100分)销售订货管理系统是ERP的源头,如何管控销售订单下达、评审、跟进,不光是从软件上做约束管理,同时要从工作流程规定上做规范。【开发目的】规范公司订单下达、评审业务流程,提高客户订单准时交货率。【......
  • 2023.12.21——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.设计模式明日计划:学习......
  • 12.21(update)
    续集细胞,不仅我们的体活因为整理考场顺便被停了(原因是因为他们明天放假,感情啥坏事都让我们沾上了呗),而且大黄也大概失败了大黄是谁?![o_231221100612_批注2023-12-21180539.png(781×241)(cnblogs.com)](https://images.cnblogs.com/cnblogs_com/blogs/807966/galleries/23579......
  • 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.21)
    一、百度网盘SVIP超级会员共享账号可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答。我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免了U盘的物理载体,直接在网上就实现文件传输。百度网盘SVIP会员可以让自己百度账......
  • 12.20~12.21
    昨天奥赛课帮同学调最短路,原理大概就是修改一下dij,结果一直没整出来,以为是思路假了,结果是他板子存图出锅了\(“我可是一个个看着书敲的,肯定没问题”\)JD说的还挺对,这话就不能信奥赛自习终于把题调出来了,发现是返回值的时候接收的那个变量根本就不对,真服了12.21上午好消息......
  • 12.21日记
    行为型(类和对象进行交互和怎么分配职责)职责链模式:避免请求的发送者和接受者耦合在一起,让多个对象都有可能接受请求,将对象连接成一条链,沿着这条链传递请求实例:假条审批命令模式:将请求封装为一个对象,对客户参数化,对请求排队,记录,支持可撤销操作实例:电视遥控器解释器(类):定义一个语言的......
  • 2023-12-20 闲话 大学生活和我的理想
    我想有一个单间,它能隔音,有扇窗户,冬天能是暖和的,夏天能是凉快的。有一张足够长的床,装得下我有点高的身体;有一个衣柜,落地,能让秋裤不用被叠起来;有一个书架,最好有三四层,层高大于A4纸;在我手边而不是脑门上。有一张桌子,宽度能放得下我的笔记本电脑,机械键盘,和我的草稿纸以及我有点长的......
  • 2023.12.20闲话——对埃及分数的另一种做法(?)
    昨天教室里进来一只母猫,还很可爱的,被同学围着叫学姐(埃及分数大家都很了解,是一个迭代加深搜索的经典题。但是我突发奇想想到一个不用搜索(但是枚举)的做法。很容易可以发现右边的式子通分之后的分母一定是式子左边约分后分母的倍数。于是我们可以枚举右边式子通分后的分母,然后选......
  • 闲话 2023.12.19
    昨天参与了俄国版穿越代码力量的新活动EducationalCodeforcesRound160(RatedforDiv.2)......