• 2024-11-17【学校训练记录】11月个人训练赛4个人题解
    A题意可以理解为在a,b的范围内如果一个数是某个整数的立方,求与其距离为k的范围内有几个整数的平方数,我们可以对于每个立方数求出其数量,注意边界问题#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;inta,b,k;voidsolve(){ cin>>a>>b>>k; in
  • 2024-11-16走迷宫(可使用激光)
    题目描述:给定一个n×m的迷宫,迷宫由"#"与"."两种字符组成。其中"#"代表障碍物,"."表示空地。迷宫中还有一个起点"S"和一个终点"E",它们都可以视为空地。由于近期迷宫发生了塌方,导致起点和终点之间可能并不连通。幸运的是,你拥有一种超能力——在迷宫中移动时(移动方向为
  • 2024-11-03floyed算法模板
    #include<bits/stdc++.h>#include<vector>usingnamespacestd;intlj[1010][1010];//邻接矩阵//可以换成链式前向星之类的巴拉巴拉,这里用邻接矩阵演示比较清楚intn,m;intflyd[1001][1001];intmain(){ cin>>n>>m; for(inti=1;i<=m;i++){ intu,v,w; cin>>u>>
  • 2024-10-22矩阵前缀和
    输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。#include<iostream>usingnamespacestd;intnum[1010][1010],qian[1010][1010];intmain(){intn,m,q;
  • 2024-10-21位运算笔记
    位运算笔记对二进制数进行直接操作:基础操作:例:a=00001101;b=00110101;与:a&b==00000101;//当两个数的第i位都为1时,a&b的第i位才为1或:a|b==00111101;/*当两个数的第i位都为0时,a|b的第i位才为0或者说两个数的第i位其中至少有一个为1,对应的a|b的第i位就为1*/
  • 2024-10-15图论 MST(最小生成树) prim
    #include<bits/stdc++.h>usingnamespacestd;constintP=1e6+7;constintinf=1e9;typedeflonglongll;intmp[1010][1010];intn,m;intd[1010];//从已选点到i的min权值intvis[1010];//选或没选voidprim(){ for(inti=1;i<=n;i++) d[i]=inf
  • 2024-10-111010
    对这两天灾难性的表现做以下总结。1010考试流程:开T1,快速出思路并且实现,在30min之内。开T2,最开始没有意识到可以用差分的方法,花了约40min想到用线段树的方法,但是没有认真分析空间和时间常数,也没有造极限数据检验,导致写了一个过不了的算法,此时10:00。开T3,没有认真想就
  • 2024-10-101010 c-e
                                                                   
  • 2024-09-11DP
    动态规划动态规划是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。三个条件:最优子结构,无后效性和子问题重叠。最优子结构证明问题最优解的第一个组成部分是做出一个选择;对于一个给定问题,在其可能的第一步选择中,假定你已经知道哪种选择才会得到最优解
  • 2024-09-10P6944
    概率期望谔谔谔。#include<bits/stdc++.h>usingnamespacestd;doublef[1010][1010];doubleg[1010][1010];doubleC[1010][1010];intmain(){ intn=ri,d=ri,r=ri; C[0][0]=1; for(inti=1;i<=n;i++){ C[i][0]=1; for(intj=1;j<=
  • 2024-09-10DP
    动态规划动态规划是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。三个条件:最优子结构,无后效性和子问题重叠。最优子结构证明问题最优解的第一个组成部分是做出一个选择;对于一个给定问题,在其可能的第一步选择中,假定你已经知道哪种选择才会得到最优解
  • 2024-09-08Java中的整数移位运算符
    对于<<,>>两种运算符,可以这样说:\(a<<b=a*2^b\)\(a>>b=a/2^b\)但是对于>>>...不好说了。这些位运算在计算机中怎样运算的?大家都知道,整数在计算机中是以二进制存储的:\(0=(0)_2\)\(4=(100)_2\)\(8=(1000)_2\)\(20=(10100)_2\)\(666=(1010011010)_2\)左移(<<
  • 2024-09-08AT_dwacon6th_prelims_c Cookie Distribution 题解
    组合意义保平安。思路发现\(\prod\)的贡献不好统计。我们可以考虑\(\prod\)的组合意义。容易发现:\[\prodc_i=\prod\sum_{j=1}^{c_i}1\]那么依照分配律,我们发现这个东西的组合意义是每个人从获得的饼干中选一个出来的方案。这样就会变好统计很多。设\(dp_{i,j}\)为
  • 2024-08-11枚举类型enum、typede、位运算
    目录enumtypedef 位运算&与运算|或运算~取反^异或<<左移>>右移enum枚举:一个一个列举出来是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围作用:提高代码可读性、安全性枚举类型enum枚举名 {    列举各种值//枚举元素(枚举常量)};表
  • 2024-08-07题解:P10543 [THUPC 2024 决赛] 黑白
    好题。题意\(n\timesm\)的网格图初始每个格子有黑有白,两人轮流操作,每次选择一个白格染黑。操作后不能存在一条\((1,1)\)到\((n,m)\)的路径,否则本次操作者输,另一人赢。思路首先判断是否一上来就输了。易发现到最后一定会操作到只剩一条道路,设路径长度为\(s\),那么\(s\)
  • 2024-08-042024睿抗国赛赛后总结
    ​题目可以去pta教育超市找写第一题还很清醒。(耗时15分钟)#include<bits/stdc++.h>usingnamespacestd;strings;intsum=0,len=0;intcnt=0;intcheck(charc){ if(c>='a'&&c<='z'){ return1; }elseif(c<='Z'
  • 2024-07-31进制与进制转换
    进制与进制转换1.什么是进制?进制是指在数值系统中,使用的数码的个数。最常见的进制有二进制、十进制和十六进制。二进制使用0和1,十进制使用0-9,十六进制使用0-9和A-F。2.进制转换二进制转十进制将二进制数的每一位乘以2的该位次方,再将所有乘积相加。例如,二进制数1010转为十
  • 2024-07-21[NOIP2005 普及组] 采药
    题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值
  • 2024-07-13【洛谷】P5728 【深基5.例5】旗鼓相当的对手——C++
    本题感想:本题主要是应该避免重复比较,以a,b,c,d为例,我们假设先a不动,依次比较d,c,b或者b,c,d,然后假设b不动,依次比较c,d,最后假设c不动,比较d,这样这道题就差不多解决了#include<iostream>#include<cmath>usingnamespacestd;intmain(){inta[1010][3],s[1010]={0
  • 2024-07-07强连通分量
    #include<bits/stdc++.h>usingnamespacestd;intn;//节点数量intG[1010][1010];//图的邻接矩阵表示intTime,sum;//Time用于记录DFS的时间,sum用于记录强连通分量的数量intbeg[1010],low[1010];//beg记录每个节点开始被访问的时间,low记录每个节点能够回溯到的最
  • 2024-06-23C++ 20新特性之改进的位操作
  • 2024-06-16[题解]ABC358E Alphabet Tiles
    AtCoder~E-AlphabetTilesLuogu~ABC358EAlphabetTiles题意简述给定正整数\(K\)和\(C_1,C_2,\dots,C_{26}\)。请求出长度在\(1\)到\(K\)之间,满足下列条件的字符串个数(取模\(998244353\)):该字符串全由大写字母组成。对于\(1\lei\le26\),下面条件成立:设\(a
  • 2024-06-04P4878 [USACO05DEC] Layout G
    原题链接大概思路我们已知一组不等式的解可以通过建边然后求最短路/最长路来得出而这里要求\(D_n-D_1\)的最大值,所以我们要求最短路。补充为什么要求最短路?对于任何一组不等式,我们都可以写成\(a_i-b_i\leqc_i\)建边含义假设\(D_n-D_1\)有最大值,那么通过这组不等
  • 2024-05-31P10543 [THUPC2024] 黑白
    MyBlogsP10543[THUPC2024]黑白签到题。首先要判联通性。判完之后,统计全局的白格子个数\(s\)。因为删到最后,一定会留下一条白色路径,然后路径的长度在\(\bmod\;2\)意义下和\(n+m-1\)同余。而我们只关心能操作次数的奇偶性,所以只需要判断\(s-n-m\)的奇偶性即可。 int
  • 2024-05-18或、与、非、异或用途
    一、关键词**|(或)、&(与)、~(非)和^(异或)**符号描述运算规则&与两个位都为1时,结果才为1或或两个位都为0时,结果才为0^非两个位相同为0,相异为1~左移0变1,1变0<<左移各二进位全部左移若干位,高位丢弃,低位补0>>右移各二进位全部右移若干位,对无符号数