首页 > 其他分享 >2024.10.3 2022-2023 ICPC Brazil Subregional Programming Contest

2024.10.3 2022-2023 ICPC Brazil Subregional Programming Contest

时间:2024-10-29 21:43:03浏览次数:5  
标签:Brazil 10 2024.10 Contest int sum leq 复杂度

比赛链接

Solved:12/14

Rank:5/1k+

Rank(vp):49/2k+

Penalty:1619

Dirt:45%


前 10 个题都比较简单/套路。


L

做法很好想。但是……

因为不会写启发式合并卡了 40min,警钟长鸣!

int sum[N];
map<int,int> col[N];
int sz[N];
ll now[N],ans[N];
void mrg(int x,int y){
    x=find(x),y=find(y);
    if(sz[x]<sz[y])swap(x,y),now[y]=now[x];
    sz[x]+=sz[y],f[y]=x;
    for(auto& [z,w]:col[y]){
        int& t=col[x][z];
        now[x]-=1ll*t*(sum[z]-t);
        t+=w;
        now[x]+=1ll*t*(sum[z]-t);
    }
}
void dfs(int u,int f,int i){
    sz[u]=1,++col[u][c[u]];
    now[u]=sum[c[u]]-1;
    for(auto [v,j]:e[u])if(v^f)
        dfs(v,u,j),mrg(u,v);
    ans[i]=now[find(u)];
}

K

\[f_{n,k}=\sum_if_{n-d_i,k-p_i}, n\leq 10^9, d_i\leq 10, k\leq 400 \]

这个\(d\)的范围很想矩乘,如果直接把400全压进向量里就是4000维,肯定T。

令\(f_n(x) = \sum_{k=0}^K f_{n,k}x^k\),则转移方程变为

\[f_n(x) = \sum_i x^{p_i}f_{n-d_i}(x) \]

且 \(f_0(x)=1\)。这样就变成多项式为元素的矩阵乘法了。

复杂度\(O(d^3K^2\log n)\)

也可以直接做 4000 项的线性递推。复杂度少一个 d。

标签:Brazil,10,2024.10,Contest,int,sum,leq,复杂度
From: https://www.cnblogs.com/EssentialSingularity/p/18514566

相关文章

  • 2024.10.26 2024 CCPC哈尔滨站
    Solved:6/13Penalty:635Rank:72Rank(ucup):170打到后面困了(而且不会L心态爆炸)睡觉去了,不然还能多做个E题(被L单防了啊。。CGKM:签到,不放了。J.NewEnergyVehicle$n$种汽油,$m$个加油站,每个加油站只能加一种油,每种油都是一单位能走一公里,求最远能走多少公里。$n,m\leq......
  • 2024.10.29 test
    A已知\(n\)边形的一个三角剖分,你可以进行若干次“城市建造”操作,可以选择三个点并新建一个点为这三个点的内心并连边。构造方案,使得城市建造次数最少,且新图可以划分为两棵树。只需要进行一次城市建造操作,就可以使边数变为\(2n\),点数为\(n+1\),显然即可划分。考虑取出一个三......
  • 2024.10.29
    1.reverse函数:翻转对于数组a,a+n;对于字符串或者向量a.begin(),a.end();具体在https://blog.csdn.net/YMWM_/article/details/1154682972.字符串的一种赋值方式点击查看代码for(inti=0;i<n;i++)s[i]=string(7*n/2,'')其中s[]=string(数量,'')是说将s[]这一行赋值为......
  • AtCoder Beginner Contest 366 - VP记录
    A-Election2高桥日常出镜,kkk好好学学。点击查看代码#include<cstdio>usingnamespacestd;intmain(){ intn,t,a; scanf("%d%d%d",&n,&t,&a); if(t>n-t||a>n-a)printf("Yes\n"); elseprintf("No\n"); return0;......
  • 2024.10.29人工智能学记5
    一、提示语设计要点1.明确目标:明确你想要AI完成的任务,构建一个直接且目标明确的提示。2.简洁:提示语应简洁明了,避免不必要的复杂性,AI更清晰地理解你的意图。3.上下文相关性:提示语应该与上下文相关,提供足够的信息以便AI理解问题的背景。4.避免歧义:确保提示语尽可能明确,避免模糊......
  • 2024.10.29 人工智能技术学 第六课时
    复习——任务导向RTRI/问题导向RPGS通过引用/po原文,并引用用于回答问题的文章段落。格式:({“引文”:。。。})“内心独白法”——辅助课业可以将不想让学生看到的内容,隐藏地放到一个结构化的格式里,然后再把输出展示给学生,解析一下这段输出。只展示能给学生看到的那部分。评估反......
  • AtCoder Beginner Contest 377
    上周六咕咕咕了省流版A.排序判断即可B.枚举判断即可C.记录覆盖位置去重,总数-覆盖数即可D.枚举右端点,考虑符合条件的左端点数量即可E.考虑排列的\(i\top_i\)图,考虑操作数与走的边数关系,利用环循环节算偏移量即可F.考虑每个皇后实际覆盖的位置,枚举先前皇后计算覆......
  • 2024.10&11 总结
    图论【LuoguP8428】Pastiri题目描述给定一棵\(N\)点的树,点编号为\(1\)到\(N\),现在在\(K\)个点上有羊,你的任务是在树上分配一些牧羊人。这些牧羊人很懒,只会看管离他最近的羊。当然如果有多个离他最近的羊,那么他会都看管。当然,牧羊人可以和羊在同一个点上,但这样牧羊......
  • 云原生周刊:K8s未来三大发展方向丨2024.10.28
    开源项目推荐Beszel轻量级高颜值的Docker监控平台。这是一个轻量级的服务器监控平台,包括Docker统计、历史数据和警报功能。它拥有友好的Web界面,配置简单、开箱即用,支持自动备份、多用户、OAuth认证和API访问等功能。Karate开源的API自动测试框架。这是一款基于Jav......
  • 2024.10.27~2024.11.3
    2024.10.27这么说吧,csp-s打的不好,是时候做出些调整了约法n章:1.在NOIP之前把ybt刷完,保守估计一天5道题2.一道题若超出一个半小时内没有A就换下一道题,并在博客中记录此题并整理思路,有时间补完3.模拟赛我的得分要有以下两种评估:切题得分和难题高分暴力得分4.禁用一个月B站,休息......