![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
比赛
文章平均质量分 59
⊱⋛赫宇⋚⊰
这个作者很懒,什么都没留下…
展开
-
P7961 [NOIP2021] 数列
给定整数n,m,k,和一个长度为m+1的正整数数组v0,v1,…,vm。对于一个长度为n,下标从1开始且每个元素均不超过m的非负整数序列{ai},我们定义它的权值为va1×va2×⋯×van。当这样的序列{ai}满足整数S=2a1+2a2+⋯+2an的二进制表示中1的个数不超过k时,我们认为{ai}是一个合法序列。原创 2022-11-16 14:54:15 · 613 阅读 · 1 评论 -
你有一个环。在环上随机挑选 n 个点,求存在一个大小为 2π/k 的弧能覆盖所有点的概率。
在环上随机挑选 n 个点,求存在一个大小为 2π/k 的弧能覆盖所有点的概率。原创 2022-11-14 20:50:21 · 134 阅读 · 0 评论 -
1732C1 - Sheikh (Easy version)
Note that f(l,r)≤f(l,r+1). To prove this fact, let’s see how the sum and xor change when the element x is added. The sum will increase by x, but xor cannot increase by more than x.Then it was possible to use two pointers or binary search to solve the probl原创 2022-10-24 10:05:30 · 253 阅读 · 0 评论 -
CF436E Cardboard Box
但是需要注意,如果一次性选两个’Y’代价更小,不能直接把两个’Y’都取走,这是因为取了第一个’Y’后,并不保证取第二个’Y’和另一个’Y’的代价就比 q2 此时的最小值更优。如果直接用小根堆 q1 维护最小代价,每次选第一个’Y’后把第二个’Y’插入堆中,得到的答案不一定是最优的。因为假设现在还需 2 个’Y’,贪心的选了 i 的第二个’Y’,再选 j 大一点的第一个’Y’,可能并不比直接选 j 的’YY’的代价小(也就是没有综合考虑选第一个’Y’后再插入的第二个’Y’的代价)。原创 2022-10-20 19:23:18 · 147 阅读 · 0 评论 -
Tarjan算法与无向图的连通性
或两个以上不相连的子图,则称x为G的割点.若对于e∈E,从图中删去边e之后,G分裂成两个不相连的子图,则称e为G的桥或割边.一般无向图(不一定连通)的“割点”和“桥”就是它的各个连通块的“割点”和“桥”根据著名计算机科学家RobertTarjan的名字命名的Tarjan算法能够在线性时间内(求出无向图的割点与桥,进一步可求出无向图的双连通分量(本节后半部分将会介绍)。在有向图方面,Tarjan算法能够求出有向图的强连通分量、必经点与必经边(下一节将(会介绍)。罗伯特·塔尔健在数据结构方面也做原创 2022-10-17 21:07:22 · 390 阅读 · 0 评论 -
CF1481E Sorting Books
你现在要整理书架上的n本书,每本书有一个颜色ai,当每种颜色的书都摆在一起时书架上便整齐了,你每次可以将一本书放到序列最右端,问使书架上整齐的最小操作数。原创 2022-10-09 19:48:07 · 221 阅读 · 0 评论 -
2019CCF非专业级别软件能力认证第一轮
1) (1分) 2) (2分) 3) (2分) 4) (2分) 5) 6)二、阅读程序(除特殊说明外,判断题1.5分,选择题4分,共计40分)1) (1分) 2) (1分) 3) 4) 5) (3分) 6)1) (1分) 2) (1分) 3) 4) 5) 6)一、单项选择题(共10题,每题2分,共计30分)三、完善程序(单选题,每小题3分,共计30分)2019CCF非专业级别软件能力认证第一轮。第1题 判断题(填√或×) 单选题。第2题 判断题(填√或×) 单选题。第3题 判断题(填√或×) 单选题。原创 2022-09-09 19:18:12 · 288 阅读 · 0 评论 -
初赛内容整理
【代码】初赛错题。原创 2022-09-04 19:21:28 · 302 阅读 · 0 评论 -
2021csp/s初赛
加上现在为了降低批改试卷的难度全是选择判断题导致运气太差便可能进不了复赛了,算是近几年最难的一次了,但是拥有复赛水平的学生做个40左右难度也不算大,再蒙个几题就能进了(选C的26分+判断题15分得个一半7.5分=33.5分,所以这试卷闭眼2分钟时间就可以做出33.5,考20分的是怎么做到的,不会的就选C这句话没听过。如果已经确定了一个数字x的F[x],就可以更新任意其他数字的F,比如F[i+x]=F[i]+F[x],因此每次取出F最小的数字x,尝试用x更新所有未确定的数字。显然不可能,可以反推。......转载 2022-08-15 20:15:50 · 1748 阅读 · 0 评论 -
完全背包深入探究
dp原创 2022-07-15 19:13:36 · 145 阅读 · 0 评论 -
2022summer vacation——The last charge
这是最好的时代,这是最坏的时代!我虽一无所知,我有无限潜能想想昨天的地理学考真是自闭了,要是不过就寄了 ,只能说富贵险中求了…八点半准时到机房,顺序开题T1签到题,把公式拆开直接搞T2 想到O(n)O(n)O(n)处理之后,中间ST刷,但是没有实现,最后60分T3 贪心乱搞+两个特殊部分分,但是挂了T4 我看到的题目错的??,少了五十暴力原题线段树分裂 咕了摆了没打模拟赛,8:30到班里将桌子复原之后就开始聊天,恭喜hjj喜提了joker同物化地,没想到班里面6个选物化技,5个人在同一个班里面。原创 2022-07-07 18:37:34 · 123 阅读 · 0 评论 -
2021.9.25模拟赛
T1题目描述有无穷多个边长为1的正方形和边长为1的正三角形,问一共有多少种不同的方式,能够拼出一个边长为n的正十二边形。(要求使用的图形不能重叠,也不能存在空缺)Subtask #1(20%):n≤4Subtask #2(20%):n≤10Subtask #3(20%):n≤103Subtask #4(40%):无特殊限制对于100%的数据,1≤n≤106。Sol通过手玩可以发现几个性质:1. 150°=90°+60°转角处一定是一个正方形和一个三角形的结合150°=90°+60° 转原创 2021-09-25 21:23:26 · 67 阅读 · 0 评论 -
初赛模拟错题,难题合集
初赛模拟错题,难题合集CSP-S 初赛模拟试题1选择题微型计算机中,( )的存取速度最快A.高速缓存 B.寄存器 C.外存储器 D.内存储器Sol:寄存器>高速缓存>内存储器>外存储器由数字1,2,3,4,5,6,7(同一数字可以重复使用)所组成的不同的三位数中有( )个是3的倍数A.43 B. 72 C. 78 D.115Sol:把所有数分为三类,mod 3 为 0/1/2 就变为了 (3,6) (1,4,7) (2,5)。答案就是 0+0+0原创 2021-09-12 19:37:09 · 201 阅读 · 0 评论 -
「NOIP2021 8.15模拟赛 B」倒吊男(hang)
题面描述给定n个区间[li,ri][li,ri][li,ri],你需要把它们划分成两部分A,B。求∣∩i∈A[li,ri]∣+∣∩i∈B[li,ri]∣|∩i∈A[li,ri]|+|∩i∈B[li,ri]|∣∩i∈A[li,ri]∣+∣∩i∈B[li,ri]∣(即两部分区间交集大小之和)的最大值。显然,对于一些区间 [l,r][l,r][l,r],它们的交集大小是 max(0,min(r[i])−max(l[i])+1)max(0,min(r[i])-max(l[i])+1)max(0,min(r[原创 2021-08-15 15:05:26 · 71 阅读 · 0 评论 -
义乌集训Day13 T1,2,3,4(已知的部分解法)(待补)
T1题目描述小a有一个数列a,记f(x)表示斐波那契数列第x项,其中f(1)=f(2)=1若干次操作,1表示对数列a区间加,2表示求sigma(f(ai)),其中i在l到r之间。由于2的答案可能非常大,所以对1e9+7取模思路:先是用矩阵乘法算出一个很大位置上的斐波那契数列的值,然后在开个线段树处理一下操作以及问题,时间复杂度要在O(logn)O(logn)O(logn)里解决因矩阵乘法不会,所以此题无法解决T2题目链接题目描述:小a有三种颜色的珠子,分别有x,y,z个,保证x+y+原创 2021-07-20 18:23:10 · 288 阅读 · 0 评论 -
义乌集训Day11 T1
题目链接刚开始看T1的时候感觉信心满满,马上就推出来一个式子,A2−B2=CA^2-B^2=CA2−B2=C,然后就写搞了一个暴力搞到了30pts,接着想100pts,想到了把式子传化为(A+B)(A−B)=C(A+B)(A-B)=C(A+B)(A−B)=C,但是发现没啥用就放弃了结果讲到的时候发现(A+B)(A−B)=C(A+B)(A-B)=C(A+B)(A−B)=C中A,B同奇同偶A,B同奇同偶A,B同奇同偶然后就暴力枚举因数,然后把不是同奇数,同偶数的答案给删掉就好了#include<原创 2021-07-18 22:02:54 · 98 阅读 · 0 评论 -
义乌集训Day10 T3
白兔有一棵 nn 个结点带边权的树。定义 g(x,x)=0g(x, x) = 0g(x,x)=0为 xxx和 yyy 两个点路径上所有边权最大值。特别地,g(x,x)=0g(x, x) = 0g(x,x)=0白云想构造一个序列 p1⋅⋅⋅pnp_1 · · · p_np1⋅⋅⋅pn,一个序列的价值为mini=1ng(i,pi)min^{n} _{i=1} g(i, p_i)mini=1ng(i,pi)。同时,白兔给了白云一个限制:任何一个数 xxx在序列中不得超过 sxs_xsx 次。白云想知道原创 2021-07-18 21:51:25 · 77 阅读 · 0 评论 -
义乌集训Day10 T2
题目链接白云开着飞机带白兔来到了一座城市,这座城市有 n个景点。这座城市的道路非常有意思,每个景点都恰好存在一条通往其它某个节点的单向道路。现在白云可以把飞机降落在任何一个景点,然后让白兔独自旅行。当白兔旅行结束时,白云会到白兔所在的景点来接它。而在旅行的中途,白兔只能靠城市的道路来移动。现在白兔想制定一个旅游的顺序,按照这个顺序依次前往每一个景点。在每个景点游玩会消耗白兔一定的体力值。为了让白兔有充足的信心,我们的这个方案必须满足:每次游览景点所消耗的体力值必须 严格 比前一个景点消耗的体力值要小原创 2021-07-17 22:24:59 · 88 阅读 · 0 评论 -
义乌集训Day10 T1
凌晨 0:00,白云躺在了床上,但是怎么都睡不着。过了一会儿,它看到了墙上挂的钟出现了一个非常有趣的情况:时针和分针重合了。于是,它想到了一个问题:从凌晨 0:00 到 hh:mm 这段时间内,时针和分针一共重合了多少次考试的时候直接sb了,推了一个辣鸡公式,只考虑了要不要加1,但是11点过后就会多算1,还好不是多组数据~这是一道追赶问题v时针112格/minv_{时针} \frac{1}{12} 格/minv时针121格/minv分针1格/minv_{分针} 1格/minv分针1格原创 2021-07-17 22:08:31 · 82 阅读 · 0 评论 -
义乌集训Day9 T3 T4 ??(未完成)
STD#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef long long LL;const int N=2e6+100;int gi() { int w=0;bool q=1;char c=getchar(); while ((c<'0'||c>'9') && c!='-') c=getchar(); if (c=='-') q=0,原创 2021-07-17 21:01:26 · 107 阅读 · 0 评论 -
义乌集训Day 9 T2
题目链接又是一道特别简单的题目我竟然没有想到做法模拟赛的时候想两个区间怎么操作结果想不到没想到正解就是最大子段和,前面一遍,往后面一遍,然后枚举中间分在哪里就好了#include<bits/stdc++.h>#define int long longusing namespace std;const int N=1e6;int n,a[N];int pre[N],suf[N],ans;signed main(){// freopen("number.in","r",std原创 2021-07-16 19:05:11 · 82 阅读 · 0 评论 -
义乌集训Day8 T3?
题目链接看到这种东西就想到树的直径。然后我乱搞半天不知道搞出点什么听了讲解发现是第一种情况:树的直径,然后再从直径走出去外加一条子段另一种情况:从树的直径的两个端点开始走一遍,做出一个最大的时间复杂度O(n)O(n)O(n)STD#include<bits/stdc++.h>#define fre(z) freopen(z".in","r",stdin),freopen(z".out","w",stdout)#define LL long longusing namespa原创 2021-07-16 18:34:14 · 114 阅读 · 0 评论 -
义乌集训Day8 T2?
题目链接那道题你大概很快就会想到差分。可是我就不会因为我们在第一天买进第三天卖出等同于第一天买进第二天卖出,第二天卖出第三天买进。所以差分数组就可以搞定,然后发现第一问就是对于所有>0的数加起来就好了。对于区间的修改,差分数组则是很简单,因为对于边上的两个点加一下,减一下就好了第二问就是统计连续大于等于0的个数,但是会有单独0的情况。转化一下,我们就是要求全部由≥0且和>0的个数,那么这个东西我们写一棵线段树维护即可。(需要填坑)时间复杂O(Tnlogn)O(Tnlogn)O(Tnlo原创 2021-07-16 18:29:04 · 90 阅读 · 0 评论 -
义乌集训Day 7 T4
题目链接题目描述mifafa 正在编写杭州城市大脑智能引擎。杭州的道路可以被抽象成为一幅无向图。每条路的初始速度都是 1m/s1m/s。1\mathrm{m/s}1m/s。1m/s1m/s。mifafa 可以使用1RMB1\texttt{RMB}1RMB 让任意一条路的速度提升1m/s1\mathrm{m/s}1m/s。如果一条路的速度为 am/sa\mathrm{m/s}am/s,那么我们需要1as\frac{1}{a}\mathrm{s}a1s 才能通过这条道路。初始 mifafa 有kRMB原创 2021-07-16 18:18:03 · 127 阅读 · 0 评论 -
义乌集训Day7 T3
题目链接对于 [1,n][1,n] 的子集 AA,它的分数 ss 为初始分数为0;对于所有的i∈Ai∈A,s+=ais+=aii \in Ai∈A,s+=a_is+=a ii∈Ai∈A,s+=ais+=ai对于所有满足 i,j∈{x∈A∣x≥2},ik=j(k∈{x∈Z∣x≥2})i,j∈x∈A∣x≥2,ik=j(k∈x∈Z∣x≥2)的二元组(i,j)(i,j),s−=bjs−=bji,j \in \{x \in A|x \ge 2 \},i^k=j(k \in \{x \in Z|x \ge 2原创 2021-07-16 17:53:31 · 114 阅读 · 0 评论 -
义乌集训Day7 T1
给定整数 n,将 1-n 分成两组,每一组至少有一个数,并且使得两组数字的和的最大公约数最大,请输出最大的最大公约数。性质1:能否证明1−n可以组成1−(n+1)∗n/2之间的数1-n 可以组成1-(n+1)*n/2之间的数1−n可以组成1−(n+1)∗n/2之间的数1 12 1 2 33 1 2 3 4 5 6…n (n+1)*n/2既然可以拼出来,那么找到第一个可以被整除的质因子,然后输出 n/i就好了因为可以拼出 n/i 剩下的就是 (n+1)*n/2-n/i#incl.原创 2021-07-14 22:47:24 · 109 阅读 · 0 评论 -
义乌集训Day5 T1
题目链接是一道超级妙啊~ 的题Πi=1nti最小。\Pi_{i=1}^n t_i 最小。Πi=1nti最小。想到质因数分解对于每个数,如果这个数的质因子是偶数,那么就肯定不需要加数就可以凑成完全平方数但是对于奇数个的完全平方,那么就一定要配上一个一样的数我们拿样例来模拟一下32 3 62:1 0 1 23: 0 1 0 3就是看将0–1 的代价 1–0 的代价 哪个小#include<bits/stdc++.h>#define mod 1000000007us原创 2021-07-12 22:14:13 · 97 阅读 · 0 评论 -
义乌集训Day 4 T3
题目链接通过题目可以看到,每个点 的度数都是小于3的,而且每个点只可能最多属于一个简单环,所以我们可以考虑用dfs 找到每一个环然后将每个环缩减成为一个点再将其和原来的边进行重新连边然后我们就可以发现,建完新图之后的题目就简化成了一棵树然后又可以发现一条性质:两个简单环之间的路径数目就是就是 两个简单环之间个数的2k,因为每一个路径都可以分为上下两种走法之后就进行树形DPf[x]表示以x点位节点的半个眼镜有多少个f[x]表示以x点位节点的半个眼镜有多少个f[x]表示以x点位节点的半个眼镜有多少原创 2021-07-12 21:58:56 · 78 阅读 · 0 评论 -
义乌集训Day 4 T2
题目链接我们可以发现性质1:∵没有穿弹的HE是可以造成[0,HE/2][0,HE/2][0,HE/2]∴当发射n个HE的时候,炮弹的伤害值可以从0到(n-1)*HE证明一下:n=1 0----HE/2n=2 0+HE/2…HE/2=HE/2…HE性质2:1.如果m<=(n-1)*HE 那么可以直接覆盖到2.如果用 (n-1)个HE都打中,然后在从[0,HE/2]补一个,可以达到的话就可以输出yes3.如果补不齐,那么,考虑可以用比HE小的AP炮去打,如果换下来的代价<=原创 2021-07-12 21:44:26 · 93 阅读 · 0 评论 -
义乌集训Day 3 T3
题目链接先是想到直接暴力贪心分段,从l到r一个个枚举,如果<=k就不分这样的时间复杂度是O(mn) O(mn)O(mn)期望得分30pts while(m--) { ll r,l;l=read();r=read(); ll ans=1; bool pd=0; ll z=l; for(int i=l;i<=r;i++) { if(a[i]>k){pd=1;break;} if原创 2021-07-10 22:30:07 · 134 阅读 · 0 评论 -
义乌集训Day 3 T2
有t次询问,每次给你一个数n,求在[1,n]内约数个数最多的数的约数个数。我们先推一个真命题:设f(x)为一个数的因数个数 f(x)为一个数 的因数个数f(x)为一个数的因数个数f(x)=(质因数出现次数+1)相乘 f(x)=(质因数出现次数+1)相乘f(x)=(质因数出现次数+1)相乘∵每个不同情况的次数都可以乘出不同的因数样式性质2:因为要取的数的因数越多越好,所以小的质因数越多越好那么贪心从小到大来乘(2∗3∗5∗7∗11∗13∗....∗47)>=1e18(2*3*5*7.原创 2021-07-10 22:07:17 · 105 阅读 · 0 评论 -
义乌集训Day 2 T3
小QwQ 在批改作业的时候发现大家的提交的文件名都很不规范,这让他很头疼。作为一个强迫症患者,他决定手动规范大家的文件名。但是有些人的文件名特别长,他想要知道最少需要修改多少次才能够使得字符串 A 变成字符串 B 。当然对于修改代价超过 K 的文件名我们会选择放弃。定义一次修改:在第 i 个位置插入一个字符删除第 i 个位置的字符输出共包含1行,如果最小修改次数小于等于 KK ,则输出最少修改次数,不然输出 -1。看完题目就可以想到一道题目——编辑距离但这个 \f\relax{i,j.原创 2021-07-10 21:47:03 · 699 阅读 · 0 评论 -
义乌集训Day 2 T 2
给定 n,你现在需要给整数 1 到 n进行染色,使得对于所有的 i,j,若 j-i为质数,则 i 和 j 不同色。 求出颜色尽可能少的染色方案。如果有多种方案,输出任意一种即可。这是一道构造题我们发现所有的质数除了 2 全部都是奇数当我们抛弃质数2 先去想一个数列:只要隔着偶数个距离的两个数相减肯定不会是质数,那么就可以放一样的数字,但是相差奇数位的数字相减可能出现质数,所以放置不一样的数字所以可以构造出 1 2 1 2… 1 2 的序列再将质数2放入序列满足:1.距离相差偶数的数相同.原创 2021-07-10 21:11:25 · 161 阅读 · 0 评论 -
义乌中学集训(没打的题慢慢补)
早上5:30被刺眼的阳光搞醒早上6:30来到食堂空无一人rank1 have breakfast早上8:30-11:50打比赛题目T1 看到这么长的题目吓了一跳 结果就是普普通通的暴力,但因为忘记c++函数中的 cos ,sin 要乘一个Π 在 /180 才能使用 ,结果挂了20分T2 题目维护一个序列 进行 m 次操作 。并且每次操作将序列的数x改为y,并且输出最近的两个一样数的距离这道题目调了很久,大概搞了2hours,一开始以为是求相同数之间的最大距离T3 拿到手就打了一个暴力原创 2021-07-08 22:15:07 · 794 阅读 · 0 评论 -
暑期集训2q11(暑假终章)
锻炼身体根据题目意思可以得出,这个蔡老板的走法就是走‘L’形状,我们可以用两个增量数组存一下表示往那里走,然后BFS就好1.增量数组:dx[1]=p;dy[1]=qq;//右下dx[2]=-p;dy[2]=qq;//右上dx[3]=-p;dy[3]=-qq;//左上dx[4]=p;dy[4]=-qq;//左下dy[5]=p;dx[5]=qq;另外的‘L形状dy[6]=-p;dx[6]=qq;dy[7]=-p;dx[7]=-qq;dy[8]=p;dx[8]=-qq;2.找到答案就输出,原创 2020-08-28 14:48:08 · 442 阅读 · 0 评论 -
暑期集训2q10
陈太阳的方块发现高两层,宽两层,长两层,肯定是被烧过的,所以没有大于2的特判一下,大于二的上公式#include<bits/stdc++.h>using namespace std;inline long long read(){ long long f=1,res=0;char ch=getchar(); while(!isdigit(ch)){if(ch=='-')f=-f;ch=getchar();} while(isdigit(ch)){res=(re原创 2020-08-28 13:16:10 · 136 阅读 · 0 评论 -
暑期集训2期9
小W的区间**老师给小W给定 x 轴上 n 个两端闭合的区间。让小W去掉尽可能少的闭区间,使剩下的闭区间都不相交。«编程任务:给定 n 个闭区间,编程计算去掉的最少闭区间数。**按照区间的右段点进行排序,然后加入左节点,看看是不是能加,贪心using namespace std;inline int read(){ int f=1,res=0;char ch=getchar(); while(!isdigit(ch)){if(ch=='-')f=-f;ch=getchar()原创 2020-08-28 12:03:54 · 129 阅读 · 0 评论 -
暑期集训2期8
兄弟素数所谓兄弟素数指的就是间隔为 2 的相邻素数,它们之间的距离已经近得不能再近了,就象兄弟一样。最小的兄弟素数是 (3, 5),在 100 以内的孪生素数还有 (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61) 和 (71, 73),总计有 8 组。但是随着数字的增大,兄弟素数的分布变得越来越稀疏,寻找兄弟素数也变得越来越困难。那么会不会在超过某个界限之后就再也不存在兄弟素数了呢?兄弟素数有无穷多对!这个猜想被称为兄弟素数猜想,至今原创 2020-08-28 11:54:12 · 151 阅读 · 0 评论 -
暑期集训2期7
蓄水库hzj老家有一个蓄水库!2020鼠年不利,干旱出现了!政府决定,每天抽水救灾100吨,水库有自己的意念,坚持每天自然出水30吨!这样过了n天后,蓄水库还有s吨水!!问蓄水库在干旱出现前有多少吨水?追及问题,每次追及路程是70/天,然后乘以天数加上剩余就好#include<bits/stdc++.h>using namespace std;long long n,s;int main(){ cin>>n>>s; cout<<原创 2020-08-28 11:29:24 · 322 阅读 · 0 评论 -
暑期集训2期4
购物把已经买过的游戏给标记一下,然后从第一款游戏开始买,如果还可以买并且没有被标记过那么买#include<bits/stdc++.h>using namespace std;long long n,ans,num,x;struct node{ int id; int tot;}a[100010];inline int read(){ int f=1; int res=0;char ch=getchar(); while(!isdigit原创 2020-08-28 11:09:31 · 150 阅读 · 0 评论