Csp
  • 2024-10-05冲刺CSP联训模拟2
    A.挤压拆位算贡献,一个数二进制表示平方为\(\sum_{i,j}s_i*s_j*2^{i+j}\),单独算每一项的贡献,枚举\(i,j\),只有当这两位都为1时结果才是1,所以我们要找异或后这两位都是1的方案数,这里需要\(dp\)用\(f_{i,j,k}\)表示前\(i\)个数异或出来的\(j,k\)两位是1/0的方案数,对于
  • 2024-10-05[赛记] 冲刺CSP联训模拟2
    三道计数+一道数据结构也是没谁了这场可是好好锻炼了我的写暴搜能力。。。挤压20pts暴搜20pts;把最后的答案进行二进制拆解,即$ans=2^i+2^j+2^k+...$,那么答案的平方为$\sum_{i=0}^{30}\sum_{j=0}^{30}s_is_j2^{i+j}$,其中$s_i,s_j$代表答案二
  • 2024-10-05[赛记] csp-s模拟7
    median50pts错解50pts(有重复的数就不行);赛时想容斥了,其实不用容斥(好像也不能容斥);题解做法:将每个数存一个二元组,按大小排序,枚举每一个数作为中位数,再枚举每个位置的种类,看它前面和后面有多少这些种类的数,乘起来即可;这样就巧妙地避免了重复的情况,如果直接枚举,则有相同的数会被重
  • 2024-10-05[赛记] csp-s模拟6
    一般图最小匹配35pts纯纯的错解35pts;考虑将原数列排序,那么我们选的边就只能是相邻两个点的;发现这玩意能够递推(赛时没发现),所以直接$DP$,设$f_{i,j}$表示当前考虑到第$i$位,有$j$条边被选的最小权值,转移时考虑第$i$个点连不连第$i-1$个点即可;时间复杂
  • 2024-10-05冲刺 CSP 联训模拟2
    题面温馨提示代码中的变量名可能与题意、题解不同。代码不删缺省源,可以直接拿来对拍。T1挤压Solution众所周知,异或是一种按位运算,不好进行十进制的数间合并。我们考虑将每个数拆分为二进制的形式进行处理。此时,对于每一种情况,假设表示\(2^i\)二进制位的值为\(b_i\),我
  • 2024-10-05冲刺 CSP 联训模拟 2
    T1挤压概率期望,二进制拆位看到异或想到拆位算贡献\[\begin{aligned}ans&=\sum_xx^2P(x)\\&=\sum_x(b_1+b_2+...+b_{30})^2P(x)\\\(b_i表示\x\二进制下\i\位的值)\\&=\sum_x(b_1b_1+b_1b_2+...b_{30}b_{29}+b_{30}b_{30})P(x)\\&=\sum_i^{30}\sum_j^{30
  • 2024-10-04代码源CSP-S模拟赛Day7-9赛后总结
    代码源CSP-S模拟赛Day7-9赛后总结Day7赛时先扫一遍题,T1显然数位dp,感觉放在T1应该不难,而且题面有一种很亲切的感觉,感觉很可做。T2简单思考一下发现最终合成的数就是\(a_1\),\(a_2\),\(a_3\)……,\(a_n\)这n个数填正负号再加上一个k的倍数,估计会有一些比较智慧的手法,感觉很
  • 2024-10-04CSP-S 模拟赛34
    CSP-S模拟赛34T1考虑对原序列将\(k\)的左右分成两个序列。simple的想法是分别从\(1\)开始跑前缀和,每一次总跑到下一个小于它的点,然后依次类推。发现这样做碰到序列最小值之后难以继续。然而我们发现这样跑点的过程从前往后和从后往前是等价的。这样考虑的原因是发现这样
  • 2024-10-04CSP-S 模拟赛 32
    CSP-S模拟赛32rnk25,\(0+0+9+0=9\)。T1[CF1578K]KingdomofIslands还没改出来。T2[CF1578L]Labyrinth警钟嚼烂:改代码改干净。首先考虑如果从\(a\)走到\(b\),人最胖是多少。毫无疑问,这是一个最大生成树问题。在这个基础上考虑原问题,我们发现由于人会越来越胖,一定有边
  • 2024-10-04CSP-S模拟赛20241004
    A你考虑可以把这个数组当中的每个数表示成另一种形式:\(a_i=k_i\timesx+b\)(其中\(x\)是模数,\(b\)为余数)。对于求两个数是否对于某个余数同余,显然你要判断他们两个的差,即\(a_i-a_j\),那么我们用上面那种形式表示其实就是\(a_i-a_j=(k_i-k_j)\timesx\),所以你要判断整个数
  • 2024-10-04[CSP-J 2023] 小苹果(apple)-----------用数组
    1#include<iostream>2usingnamespacestd;3intmain(){4intn,m;5cin>>n>>m;6intg=n,t=0,li,s[n+1],b;7for(inti=1;i<=n;i++){8s[i]=i;9}10while(g){11t+=1,b=0,li=0,g-=(g+
  • 2024-10-04CSP小苹果详细解法
    #include<bits/stdc++.h>usingnamespacestd;intmain(){intn,ant=0,t,j;cin>>n;cout<<"小苞的桌上一共放了"<<n<<"个苹果。"<<endl;inta[n+5],b[n+5];for(inti=1;i<=n;i++){a[i
  • 2024-10-04冲刺CSP联训模拟2
    冲刺CSP联训模拟2过T2了,赢了T3T4暴力没写满,输了A挤压我是唐诗老哥一个半小时才过T1发现要求的是\(E(s^2)\),因为有个异或,所以直接考虑拆贡献到每一位\[E(s^2)=E(\sums_i\sums_j)=\sumE(s_is_j)\]所以直接考虑后面那个咋做,就是\(i,j\)位同时是一的时候贡献\(2^
  • 2024-10-04CSP-S 2021 廊桥分配
    2021年的提高组第一题学校模拟测试的时候居然想到了AC的代码(((bushiluoguP7913题目意思  大体意思就是有n个廊桥,m1起国内航班,m2起国际航班,国内区和国际区是分开的,把n个廊桥分到两个区,飞机想要尽可能的停在廊桥处,而不停在远机处,每架飞机都有各自的起降时间,廊桥按到达顺序供给
  • 2024-10-04[DMY]2024 CSP-S 模拟赛 Day 7
    题目T1T2T3T4当前分数这场打成一坨了。几乎写的全是暴力。赛时开T1,不太会正解,先写了个暴力丢到那儿。胡了一个\(\mathcal{O}(n^2)\)的做法,但是样例假了,照着手推一遍发现错的很彻底。已经过了1h,于是去看T2。T2还是先写出来了暴力思路。感觉这东西
  • 2024-10-04冲刺CSP联训模拟2
    冲刺CSP联训模拟2\(T1\)P294.挤压\(40pts\)部分分\(20\%\):爆搜,时间复杂度为\(O(2^{n})\)。另外\(20\%\):观察到值域较小,将值域计入状态设计,时间复杂度为\(O(nV)\)。点击查看代码constllmod=1000000007;lla[100010],p[100010],pp[100010],q[100010],f[2]
  • 2024-10-0410.4 代码源 2024 CSP-S 模拟赛 Day 9
    省流:\(100+0+0+0=100\)简称:唐诗T1先写了个暴力,然后在想怎么优化,然后想了个区间DP但是写的时候又不会了……然后发现如果这一块数的二进制每一位都有一个数的这一位为\(0\)或者都相同,那么这些数合并起来一定最优,然后双指针搞,复杂度\(O(30n)\)。(这么绕口)赛后听别人说有
  • 2024-10-04[DMY]2024 CSP-S 模拟赛 Day 9
    T2调了1h没调出来,丢了一坨没分的shi扔了。我想放一下作为开头:include<bits/stdc++.h>#defineintlonglongusingnamespacestd;inlineintread(){intw=1,s=0;charch=getchar();while(!isdigit(ch)){if(ch'-')w=-1;ch=getchar();}while(isdigit(ch)){s=s10+(ch-
  • 2024-10-04【训练记录】2024年莆田市高中信息学奥赛国庆集训CSP-S提高组(第四天场外)
    训练情况rk#1\(100+100+100+100=400\)赛后反思因为满分AK了,就不需要反思了A题显然我们想要选的最多,我们优先选\(a_i\)小的,所以我们对\(a_i\)从小到大排序,再求一个前缀和,再使用二分即可#include<bits/stdc++.h>#defineintlonglongusingnamespaces
  • 2024-10-04CSP-J/S2024总结
    CSP-J/S2024游记初赛前记今年最后一年J了...希望圆我个2年都没有实现的J一等梦还有希望S考好点期待1=day-1考完不放假,然后月考,高兴坏了day1没什么好说的,行就行,不行就AFO(假CSP-J本来就打算摆烂,所以不慌因为是最后一个考场,只有26人,赢!嗯?开局放int?完辣!组合题放那
  • 2024-10-03P9752 [CSP-S 2023] 密码锁&&P8814 [CSP-J 2022] 解密
    GutenTag!Schön,dichzusehen!今天也是很懒惰的一天呢!所以今天三合一!题目:[CSP-S2023]密码锁题目描述小Y有一把五个拨圈的密码锁。如图所示,每个拨圈上是从$0$到$9$的数字。每个拨圈都是从$0$到$9$的循环,即$9$拨动一个位置后可以变成$0$或$8$,因为校园里
  • 2024-10-03CSP-J模拟赛一补题报告
    IAKIOI!!!前言考的最好的一回:240pts首先开T1,45min干掉了然后T2,45min挂了然后T3,40min又挂了然后发呆了一会把T4骗分打了,此时已过去一坤时40minT2切了,最后20min打了T3骗分又发呆了一会T1:100ptsT2:100ptsT3:30ptsT4:10pts《正文》01011010101001010010101011010100011
  • 2024-10-03CSP-S 2024 第八次
    忘记写了,补一下A依次加入每个\(a_i\),拿个大根堆维护当前以\(i\)结尾的和最大子段,和超过\(s\)了就弹堆顶直到和不超过\(s\)。不过好像出现了一些语文事故,先不管了。B倍增预处理出\(f_i\)表示\(i\)上方第一个大于\(a_i\)的点,询问\(u,v,c\)时,先倍增找到\(u\)上
  • 2024-10-03CSP 模拟 37
    Amedian如果保证每个数互不相同,直接统计每个序列中小于\(x\)和大于\(x\)的数量就好。但是有重复的数,答案会算重,考虑给每一个数一个独一无二的特征,保证满足大小关系,直接给所有数排个序后,记录排序后的位置即可。时间复杂度\(\mathcal{O}(n\logn)\)。Btravel当\(k\to\in
  • 2024-10-03CSP-J模拟赛补题报告
    前言最SB的一次&做的最差的一次T1:AC100pts