- 2024-09-26codeforces round 971(div4)E(二分答案,禁用数学方法)
解题历程:开始想的是用数学公式的方法,利用公式推出二次函数,再求出根,再用根求出答案,检查了一个小时,结果怎么改都有细微的偏差,最后发现答案先单调递减在单调递增,那么可以用二分答案的方法查找最小的答案,二分对细节的处理要求比较高,于是在二分中加入了一个限制,当二分的区间小于5时,就
- 2024-04-02状压dp板子(cf div4 #937)
#include<bits/stdc++.h>usingnamespacestd;intn;vector<int>v[20];stringa[20],b[20];booldp[500010][20];voiddfs(ints,intnow){dp[s][now]=true;for(autonxt:v[now]){if(s&(1<<nxt))continue;
- 2024-03-31cf(div4) 第四周
Problem-E-CodeforcesE.NearlyShortestRepeatingSubstring题解:我们直接枚举长度题目限制很多首先,枚举长度要确保整除然后我们在取从头开始的这个长度的字符串一一向下比对这里我们还要去这个长度的i+=len下一个字串在一一去比对然后就不可能往下取了,如果向下取那就
- 2024-03-30codeforces div4 Double Strings
#include<iostream>#include<algorithm>#include<cstring>#include<map>usingnamespacestd;intT,n;strings[900005];map<string,int>mm;//存放每一个字符串是否出现过intmain(){ cin>>T; while(T--){ mm.clear();//每次清空mm里面的数
- 2024-03-26Div4 VP总结
CodeforcesRound799(Div.4)E(最长子区间)基本思路求满足s的最长子区间。错误思路分析想用双指针左右贪心模拟题目要求删前或后的数(但在面对前后两个相等的时候,删前删后没有无后效性)简单暴力枚举子区间长度(显然在n=1e5的时候t了)正确思路虽然也是暴力枚举子区间,但有做
- 2023-12-31cf 918(D-G) div4
cf918(D-G)div4D.UnnaturalLanguageProcessing算法分析:string模拟+贪心贪心策略:把元音字母看作0,辅音字母作为1,因为是等价的,构造字符串,寻找a.find("101"),a.find("10");判断合理性,贪心选择101还是10,最后把原数组打印,erase删除前面的"101"/"10"串,直到串删为空不要偷懒
- 2023-12-29codeforces比赛(1):codeforces 918_div4
A、OddOneOut跳转原题点击此:A题地址1、题目大意 给你三个数,其中两个是相等的,问你还有一个不相等的数是多少。2、题目解析 直接暴力枚举即可,只要找到两个数相等,那么答案就是另一个数。#include<bits/stdc++.h>usingnamespacestd;intT;inta,b,c;voidsol
- 2023-12-26div4 题目
.Dashboard-CodeforcesRound898(Div.4)-Codeforces1.Problem-G-Codeforces这一题我们首先进行分类讨论,因为情况很多第一种情况当首尾存在一个B的情况时,我们可以吃掉所有的A,这个时候只需要计算出A的数量就可以第二种情况是当首尾都是A,但是中间有连续的B的时候,这个