• 2024-07-252024 暑假友谊赛-热身2
    TreeDestruction-洛谷|计算机科学教育新生态(luogu.com.cn)思路:树的直径。定理:在一棵树上,从任意节点y开始进行一次DFS,到达的距离其最远的节点z必为直径的一端。第一次dfs1(),从任意一个点,到达的最远的点必然是直径两端的其中一个。再从找到的端点开始dfs1(),
  • 2024-07-202024 暑假友谊赛 2
    2024暑假友谊赛2A-
  • 2024-07-202024 暑假友谊赛 2
    A题目链接思路:枚举每个十字中心点,合法就标记,最后若还剩下点没被标记就NO#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#definePIIpair<int,int>constintN=1e6+5,mod=998244353,Mod=1e9+7;intdx[4]={-1,0,1,0};intdy[4
  • 2024-07-202024 暑假友谊赛 2
    B.TilingChallenge1.我的方法是按顺序遍历,遇到'.'时就检查一下它的上下左右是不是都是点,如果都是点的话,标记这个点,把这个点和他上下左右都标记为‘?’,但是要加一个条件,如果‘.’的个数不是5的倍数就不符合题意,不加这个会wa37,我也不知道为什么#include<bits/stdc++.h>#defin
  • 2024-07-142024 暑假友谊赛 1 (7.13)zhaosang
    A-Ahttps://vjudge.net/contest/638765#problem/A一开始贪心做不出来,后面发现是dp找到转移方程即可,01dp问题代码如下#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;llv[10000010];lln;llans;llprefix[10000010];intmain(){ intN; cin>>
  • 2024-07-142024 暑假友谊赛-热身2 (7.12)zhaosang
    E-Ehttps://vjudge.net/problem/AtCoder-diverta2019_b给你a,b,c,n就是问你有多少(ia+jb+k*c)等于n的答案i,j,k任意几个都可以为零两种思想,数据量比较小,那么可以三重循环+减枝,或者枚举两个变量算出第三个代码如下:第一种三重循环#include<bits/stdc++.h>usingnamespa
  • 2024-07-142024 暑假友谊赛-热身2
    CodeForces1265E思路:期望dp,f[i]表示走到i的期望天数,有f[i]=p[i]/100*(f[i-1]+1)+(100-p[i])/100*(f[i-1]+1+f[i]),得到f[i]=100/p[i]*(f[i-1]+1)#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#definePIIpair<int,
  • 2024-07-142024 暑假友谊赛 1
    AtCoderabc204_d一开始想着贪心,试了下wa掉了,然后看着过的人挺多的还是觉得是贪心
  • 2024-07-132024 暑假友谊赛 1
    2024暑假友谊赛1A-
  • 2024-07-132024 暑假友谊赛-热身2
    1.G-
  • 2024-07-132024 暑假友谊赛-热身1
    1.B原题链接:https://vjudge.net/problem/AtCoder-arc100_a这是一个单峰函数,可以采取三分的方式求极值查看代码#include<bits/stdc++.h>#defineintlonglongconstintN=1e6;usingnamespacestd;intn,mi;inta[1000000];intcheck(intx){intsum=0;fo
  • 2024-07-132024 暑假友谊赛 1
    1.A-
  • 2024-07-132024 暑假友谊赛-热身2
    B-RGBBoxes1.很明显其实我们会想到暴力枚举来验证加起来是否相等,但是数据范围3000,O(n3)的复杂度肯定是过不去的2.那么我们就思考如何用n2的方法来解决呢?枚举前两个数,再验证一下n-sum是不是剩下的这个数的倍数即可#include<bits/stdc++.h>#defineintlonglong#defineendl
  • 2024-07-132024 暑假友谊赛-热身2
    2024暑假友谊赛-热身2A-
  • 2024-07-122024 暑假友谊赛-热身1
    知识点1.Floyd算法的核心代码//floyd算法计算到达两点的最小代价for(intk=0;k<=n;k++)//n是节点数{for(inti=0;i<n;i++)//每加一个节点都要枚举图看看有没有可以被更新的{for(intj=0;j<n;j++)if(dp[i][j]>dp[i][k]+dp[k][j])dp[i
  • 2024-07-122024 暑假友谊赛-热身1
    2024暑假友谊赛-热身1A-
  • 2023-10-17警示后人
    今天去一中打友谊赛,大家都犯了很多低级失误。晚自习查成绩的时候,被何老板批评了(悲)记录一下,以免以后在犯我:不开longlong见祖宗挂40chara:和我之前的错误一样,函数前面没定义类型(intvoid之类的),导致本地没问题,交上去CE0挂80libolin1:加了windows.h头文件方便调试,但是评测是在Linu
  • 2023-08-1023 暑假友谊赛 No.4(UKIEPC 2017)
    23暑假友谊赛No.4(UKIEPC2017)ProblemAAlienSunsethh,开始一眼差分,但是写寄了qwq,后来换枚举过了(Orz,但是看学长差分是能做的,我就说嘛,差分肯定能做(说下枚举思路吧,就是把每个区间都存起来,选出自转周期的最大值为\(ma\),然后去枚举\(0\simma\times1825\),每次看
  • 2023-08-03牛客多校友谊赛
    D-吹_23暑假友谊赛No.2(nowcoder.com)#include<bits/stdc++.h>#defineintlonglong#defineendl'\n'usingnamespacestd;constintN=1e6+50,INF=0x3f3f3f3f;inta[N],dp[N][2];signedmain(){intn;cin>>n;for
  • 2023-08-0223暑假友谊赛 No.3
    A-把你砍成两半!在本地找规律就会发现,当\(a_1\)确定时,\(a_i\)一定是\(a_1\)的倍数。所以答案就是\[\sumC_{\frac{n}{a_1}-1}^{k-1}\]#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintmod=998244353;vector<int>fact,invFact;int
  • 2023-07-2623暑假友谊赛No.2
    23暑假友谊赛No.2A-雨_23暑假友谊赛No.2(nowcoder.com)#include<bits/stdc++.h>usingnamespacestd;signedmain(){ios::sync_with_stdio(false);cin.tie(nullptr);inta,b,c,d,x;cin>>a>>b>>c>>d>>x;cout
  • 2023-07-2623暑假友谊赛No.2
    A-雨#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongvoidsolve(){vector<int>a(4);intx;for(auto&i:a)cin>>i;cin>>x;for(autoi:a)cout<<max(x
  • 2023-07-2623暑假友谊赛No.2
    23暑假友谊赛No.2雨#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong//#defineint__int128typedefpair<int,int>PII;typedefpair<string,int>PSI;typedefpair<string,string>PSS;constintN=50+5,INF=0x3f3f3f3f,Mod=1
  • 2023-07-2023暑假友谊赛
    23暑假友谊赛马猴烧酒思路:枚举对行的所有可能操作,判断列需要的操作次数是否满足条件;#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongtypedefpair<int,int>PII;typedefpair<string,int>PSI;typedefpair<string,string>PSS;constintN=1e4+5,INF