重新振作第15天----悲伤逆流成河

无感,摆烂。。。。。。

汇编实验报告 30minutes

报告内容比较少,完成的比较快的其实。

操作系统文献阅读+PPT 3H

只剩下最后一部分的PPT

六级单词

140个单词,听力一会听力,感觉要寄寄,但是作业真的好多。

退役acmer的每日一题*11

题目链接:https://atcoder.jp/contests/abc353/tasks/abc353_e
思路分析:当第一眼看见题目的时候,我就想用字典树,建好树之后进行dfs,但是不会字典树,很惭愧。然后看了一眼,发现其实挺简单的。然后,发现其实不用dfs,因为建树的过程本身就是一个dfs的过程,不如直接在建树的过程中进行维护和统计答案,其实就是记录一下每个点被多少个字符串占位。这个很字典树。可以看一下这位大哥的题解:https://blog.csdn.net/weixin_73550568/article/details/138735501
代码实现:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
using namespace std;
const int N=3e5+10;
const int MAX=1e6+5;
const int mod=1E9+7;
int n,m,k,w;
int trie[N][26];
int cnt[N];
int id;
void solve(){
    cin>>n;
    string s;
    while(cin>>s){
        int p=0;
        for(int i=0;i<s.size();i++){
            cnt[p]++;
            if(trie[p][s[i]-'a']==0)trie[p][s[i]-'a']=++id;
            p=trie[p][s[i]-'a'];
        }
        cnt[p]++;
    }
    int ans=0;
    for(int i=1;i<=id;i++){
        ans+=(cnt[i]-1)*cnt[i]/2;
    }
    cout<<ans<<endl;
}
signed main(){
    ios;
    int t;
    t=1;
    //cin>>t;
    while (t--){
        solve();
    }
    return 0;
}
posted @   菜dog的日常生活  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示