• 2024-11-17[Tricks-00004]CF1954F(自己胡的 trick,被 Burnside 完爆)
    介绍下自己的离奇思路:先读清楚题意!要求是旋转等价,即两个以\(c\)个\(1\)开头,总\(1\)个数不超过\(k+c\)的字符串算一种。那怎么刻画"只算一种"这个条件呢?一个想法可以是,对每个字符串赋一个权值,一种字符串的权值即旋转出来的每个合法的,把它们加起来应该是\(1\),再全部加出
  • 2024-10-18[ABC375C] Spiral Rotation
    [ABC375C]SpiralRotation题意给出一个边长为偶数\(n\)的只由#和.组成的矩阵。你需要按顺序对于\(i=1,2,\cdots,\frac{n}{2}\)将满足\(i\lex,y\len+1-i\)的单元格\((y,n+1−x)\)替换成单元格\((x,y)\)的字符,问操作完后的矩阵。\(2\len\le3000\)。思路C题
  • 2024-08-22融合矿石
    无论怎么融合,合法矿石的质量至多只有3000种,可以通过一遍完全背包预处理得到,然后再跑一遍完全背包就好了还记得完全背包吗?就是把01背包正过来跑一遍就好了想不出来的时候,不妨暂时放下,回头再看,或许能有新的发现没有金辉石的矿石没有价值点击查看代码#include<bits/stdc++.h
  • 2024-08-21找矩阵
    通过矩阵转置,归并行、列两种情况先行后列表示坐标点击查看代码#include<bits/stdc++.h>usingnamespacestd;charc[3005][3005];ints[3005][3005],u,v,n,m,l[3005],r[3005];boolf;intcalc(intx1,inty1,intx2,inty2){returns[x2][y2]-s[x1-1][y2]-s[x2
  • 2024-08-13新坑:信息学奥赛一本通题解(3001~3005)
    前言Hello,大家好我是文宇,开个新坑,是关于信息学奥赛一本通的坑,就是信奥赛题解.(这里指编程启蒙的题库)因为作者的洛谷还在写,只是信奥赛的题写的比较多,所以先做信奥赛的.信奥赛的网址是信息学奥赛一本通-编程启蒙(C++版)在线评测系统(挖坑:作者以后可能还会有信奥赛本体
  • 2024-08-11[赛记] 暑假集训CSP提高模拟17
    符号化方法初探100pts签到题?做了得有1.5h+;考虑全是正数或全是负数的情况,那么我们可以对其做一次类似于前缀和或后缀和的操作,需要$n-1$次;所以我们只需将数列中的数全部转化成正数或负数即可,具体地,找出所有正数的和和所有负数的和,如果前者比后者要大,那么就将所有正数加起
  • 2024-08-06猫咪们狂欢
    考场上感觉就是网络流,可惜建不出模最大权值闭合子图模型最小割的本质其实是点的划分,连接两个集合的点的边构成割集;在本题中,这恰好对应了点的选择与否首先强制将所有“狂欢猫”安排在第一棵树上,简化问题你希望建立【i和j都选可以推出k】的模型,虽然没有办法直接构建,但你可以让
  • 2024-07-30Luogu P1983 车站分级 题解 [ 绿 ] [ 拓扑排序 ] [ 图论建模 ] [ 虚点 ]
    车站分级:很好的拓扑排序题,细节有点多。图论建模首先观察对于一条线路,我们可以从中直接得到什么信息:假设这条线路的开头为\(st\),结尾为\(ed\),那么在\([st,ed]\)的车站中,没有被选入线路的点一定比选入线路的点的级数至少少\(1\)。对于这一点条件,我们就可以建模了。
  • 2024-07-24Palindrome
    O(n^2)的DP是显然的,但没有优化思路。考虑证伪数据范围。发现n>2600时,根据抽屉原理,一定有一个字符出现了至少101次。点击查看代码#include<bits/stdc++.h>usingnamespacestd;intf[3005][3005];intg[3005][3005];chars[50005];intcnt[30],pi,pj;stringtmp="";vo
  • 2024-06-14D. Matrix Cascade
    原题链接题解对某一片区域+1-1等操作,二维差分,注意每一维的含义和往下一维转移的细节就行了code#include<bits/stdc++.h>usingnamespacestd;intwave1[3005]={0},wave2[3005]={0};intsum[3005]={0};strings[3005];intmain(){ios::sync_with_stdio(false);cin
  • 2024-01-24G.Snake Move
    赛后独立思考了不算长的一段时间,然后就通过了;赛时没看这道题有些可惜,算是个教训吧发现两个性质之后,这道题就非常简单了:1.只有初始位置的贪吃蛇才可能会对最优路径产生影响2.令贪吃蛇长度-1的操作等价于它停在原地不动点击查看代码#include<bits/stdc++.h>usingnamespac
  • 2024-01-10让黑群7.2支持AME
    开启SSH 临时切换root用户(输入当前用户密码) 执行:curlhttp://code.imnks.com/ame3patch/ame72-3005.py|python 成功: 
  • 2023-12-19Atcoder ABC 333 题解(A - F)
    ABC不讲D待更E待更F设$f(i,j)$为有$i$个人时,第$j$个人活到最后的概率,显然:\[f(i,j)=\begin{cases}1,&i=1,j=1\\\frac{1}{2}f(i,i),&i\neq1,j=1\\\frac{1}{2}f(i,j-1)+\frac{1}{2}f(i-1,j-1),&i\neq1,2\lej
  • 2023-11-24CF1864D 题解
    我们注意到对如图倒三角形上的所有点操作都会影响到目标点。那么我们可以维护两个前缀和,第一个前缀和表示如下的点是否操作第二个前缀和表示这些点是否操作这样我们求出了前缀和之后,将两个前缀和异或一下就知道该点是否要操作了。#include<bits/stdc++.h>usingnamespace
  • 2023-08-29CF1864D Matrix Cascade 题解
    首先把式子拆一下,可以知道\(x-i\ge|y-j|\)等价于\(x-y\gei-j\)和\(x+y\gei+j\),注意到每次操作\((i,j)\),影响到的点\((x,y)\)均要满足\(x>i\),那么我们每次就必须要按照从上往下的顺序进行,否则上面的点无法影响到,即从第一行开始操作。又注意到对于\((i,j)\)如果执
  • 2023-08-29CF1864D Matrix Cascade
    思路第一时间想到的是暴力,因为同一行的互不影响,所以第一行的\(1\)一定都需要操作,然后把后续的状态更新,再操作第二行的所有的\(1\),但是很可惜是\(O(n^4)\)的复杂度,必然会TLE。所以思考其他的办法,考虑到可以统计有多少操作更改了这个位置的状态,所以可以使用一个类似前缀和的
  • 2023-08-15Codeforces Round 892 (Div. 2) A-E
    A.UnitedWeStand题意:给出一个长为\(n\)的数组\(a\),将其中的元素分别放到空数组\(b\)和\(c\)中,使得\(c\)中的任意一个元素都不是\(b\)中任意一个元素的因数,并且两个数组都不是空数组Solution把\(a\)中最小的数放到\(b\),其它的都放到\(c\),一定可以保证要求成立voidsolve(){
  • 2023-07-23E - Defect-free Squares
    E-Defect-freeSquares(atcoder.jp)题意:一个H*W的矩形上有几个块有洞,问你没有洞的正方形有多少个两种做法,DP和二分前缀和DP是官方题解先是二分前缀和做法,当时没想到前缀和可还行。。先弄好前缀和,然后我们考虑用(i,j)作为正方形左上角能贡献多少个正方形,显然(i,j)作为左上
  • 2023-06-12hdu2086 A1 = ?
    思路:推公式题....#include<stdio.h>doublea[3005],c[3005];doublesum;intmain(){intn;while(scanf("%d",&n)!=EOF) { scanf("%lf%lf",&a[0],&a[n+1]); for(inti=1;i<=n;i++) scanf("%lf",&c
  • 2023-06-03编辑距离
    编辑距离题目描述设\(A\)和\(B\)是两个字符串。我们要用最少的字符操作次数,将字符串\(A\)转换为字符串\(B\)。这里所说的字符操作共有三种:删除一个字符;插入一个字符;将一个字符改为另一个字符。\(A,B\)均只包含小写字母。输入格式第一行为字符串\(A\);第二行为
  • 2023-05-24Johnson 全源最短路
    全源最短路,换一种说法就是n个单源最短路,可以用n次Bellman-Ford或SPFA,非负边权还可以用Dijkstra,可是有负边权用前两个算法还是慢,如果我们能把负边权映射成非负边权的话,一切就都好办了这里我们引入一个虚拟结点,它和所有点的初始距离都是0,然后,我们求出来这个结点和其他店的最短路h,然
  • 2023-05-17【hadoop】 3005-hadoop对象序列化编码
    一、hadoop序列化操作Writable接口,是根据 DataInput 和 DataOutput 实现的简单、有效的序列化对象MR的任意Key和Value必须实现Writable接口.MR的任意key必须实现WritableComparable接口二、自定义Writable,实现MapReduce程序1、需求内容日期 
  • 2023-01-20Deque 题解
    题目传送门一道区间\(dp\)题。在\(dp\)之前,我们需要明确以下几个东西:状态的表示,状态转移方程,边界条件跟答案的表示。状态的表示定义\(sum(l,r)=\sum_{i=l}^ra_
  • 2022-12-16刷题笔记——3005.糖果游戏
    题目3005.糖果游戏代码li=list(map(int,input().strip().split()))lenth=len(li)foriinrange(lenth):#设置当前位置的左右位置ifi>0andi
  • 2022-09-03洛谷P1850 [NOIP2016 提高组] 换教室(期望dp)
    #include<bits/stdc++.h>usingnamespacestd;intn,m,v,e;intc[3005],d[3005];intf[305][305];doubledp[3005][3005][2];//dp[i][j][k]表示前i步申请更换了j