2 狐佑 怜

尚未进行身份认证

我要认证

都写都写(指题解)

等级
TA的排名 15w+

NC13230 合并回文子串

NC13230很好的一道区间DP,写之前一直想的二维怎么写,实在是想不出来了,看了清楚姐姐的题解才知道,哦,是四维DP,DP这东西,真的很奇妙,想得到就是板子题,想不到能卡死人代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>using namespace std;const int N

2020-07-17 12:26:38

NC50439 tokitsukaze and Soldier

NC50439思路:一道思维题,其实还是比较好想的,跟CF上某次的C题比较类似,先排个序,再用优先队列暴力一下,一次for循环就能完事儿代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long long#define pb push_back#define p

2020-07-17 09:17:46

Nightmare Ⅱ HDU - 3085

HDU - 3085读题太难了,请看这位大神的翻译:大神的中文题意思路:这就是一道暴力BFS模拟啊!!最多再加点A*作为佐料暴力跑就完事儿,最多算一下在当前点会不会被鬼抓到作为剪枝在这里我安利一下一篇优秀的题解:大神的题解嗯?我为什么要在自己的题解里安利别人的题解?因为我的题解是给自个儿看的嗷代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")

2020-07-16 21:57:34

DNA sequence HDU - 1560

HDU - 1560题意:给你N个DNA子序列,请求出包含这些子序列的最短DNA序列的长度思路:用IDA*暴力,用指针推进每一个子序列代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long long#define pb push_back#define

2020-07-16 12:36:23

I - A计划 HDU - 2102

HDU - 2102思路:水题一个,暴力BFS就能过,注意判断魔法阵对面是否还是传送阵代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long long#define pb push_back#define pf push_frontusing namesp

2020-07-16 11:20:57

HDU - 3567 Eight II(IDA*)

HDU - 3567题意:给两个九宫格,你只能让X和与X相邻的格子进行交换,请从状态a得到状态b,要求移动次数最少且答案的字典序最小思路:稍有难度的一道搜索,我们需要用到IDA* 算法(还有其他很多种方法,有兴趣的可以自行尝试,这里使用的是IDA* 进行解答)利用A* 算法来得到最小的移动次数的期望值,然后利用ID算法来进行迭代加深,如果了解 IDA* 算法的话,这道题就是一道板子题(注意:A* 算法得到的最小移动次数是小于等于实际次数的,不理解的话可以查阅一下关于A* 算法的资料)代码附:

2020-07-16 09:32:39

1352D Alice, Bob and Candies (1300)

1352D Alice, Bob and Candies题意:N个糖果,每个价值a[i],A从左吃,B从右吃,A先吃,每人每次吃的糖果总价值都必须比另一个人上一次吃的多,求两个人的总行动次数以及两人分别吃了多少思路:左右指针直接暴力跑一遍for循环,时间复杂度O(n)代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bi

2020-07-11 12:56:56

1351C - Skier (1400)

1351C - Skier题意:NSWE代表上下左右4个方向,每次走一个单位,第一次走的路花费时间5,不是第一次走的路花费时间1,求最后所花时间思路:暴力嗷,假设是从原点开始走的,map记录一下就能随便写了代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int lon

2020-07-11 10:32:53

1368C - Even Picture(1500)

1368C - Even Picture题意:在一个全是网格的图中,你可以选择一些格子涂灰,请你涂一些格子并且满足以下条件:所有格子必须是连通的对于每一个格子,都有偶数个格子与它相邻有恰好N个格子,它们的上下左右都有格子相邻思路:个人觉得下面这种图形是最完美的每个格子都是偶数个相邻,只要将这种图形的边角不断的重叠就能构造出我们需要的上下左右都相邻的格子一个又一个所以我们需要初始方块4个,和剩下N*3个格子用来构造每一个四边相邻的格子代码附:#pragma GCC optimi

2020-07-10 20:39:55

1368D - AND, OR and square sum

1368D - AND, OR and square sum题意:给你N个数,你可以选择任意两个数 i,j ,使得原本a[i]=x,a[j]=y变为a[i]=x&y,a[j]=x|y;,可以做这种操作无数次,请使得这N个数的平方和最大思路:题上已经说得很清楚了,用二进制做,直接把每一个数的二进制位都扣下来,然后每次都去取这些二进制位来组成当前能组成的最大数来算平方和代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#prag

2020-07-10 15:48:02

1367B - Even Array (800)

1367B - Even Array题意:通过交换数组中的任意位置的元素,能够使得数组的下标的奇偶校验与元素相同的最小操作次数是?思路:判断错误的奇数与偶数个数是否相同,相同直接输出,否则输出‘-1’代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long l

2020-07-10 15:03:51

Codeforces Round #650 (Div. 3) A. Short Substrings (800)

A. Short Substrings题意:给你字符串B,请你猜出字符串A,字符串B=a[0]+a[1]+a[1]+a[2]+a[2]+a[3]+a[3]……+a[n],其中a[0]和a[n]只出现一次思路:先输出a[0],剩下的只输出下标为奇数的代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.

2020-07-10 13:13:02

1369A - FashionabLee (800)

1369A - FashionabLee题意:给你一个N边形,判断他是否存在一条边平行X轴,一条边平行Y轴思路:直接判断N是不是4的倍数,这样上下左右的边才都是平行的代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing namespa

2020-07-10 11:21:04

1369B - AccurateLee (1200)

1369B - AccurateLee题意:给一个01串,如果存在‘10’就可以消除其中的‘1’或‘0’任一个,请让该字符串最短并且字典序最小思路:贪心思想,从后往前找‘01’,用stack处理一下即可代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long

2020-07-10 11:15:35

1369C - RationalLee (1400)

1369C - RationalLee题意:有N个物品,每个物品价值A[i] ,将这些物品分配给K个人,每个人要W[i]个物品,求每个人得到的物品价值的最大值和最小值之和的最大值思路:贪心思想,先让只要一个物品的人拿价值最大的东西,接着让剩下的人先从价值最大的物品开始每人取走一个,然后再让W小的人从剩下的物品中从最大价值的开始取代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2

2020-07-10 10:31:33

Codeforces Round #652 (Div. 2) D. TediousLee (1900)

D. TediousLee题目大意:在树第N次成长后,最多能选出多少颗爪型树,求出这个值*4(点的数量)思路:经过几次推导,能够发现,会新长出来的点的数量a[i]=a[i-1]+2*a[i-2],因为爪型树的根节点来自a[i-2],左右两边的点来自a[i],下面的点来自a[i-1],能够看出,每当选出一层的根节点为a[i]爪型树,就不能再选根节点层数为a[i-1]和a[i-2]的爪型树,所以能推出递推式ans[i]=ans[i-1]+2*ans[i-2]+(i%3==0);该递推式的意思值的是从最

2020-07-10 09:52:43

Codeforces Round #651 (Div. 2) A. Maximum GCD (800)

A. Maximum GCD题意:找到[1,n]中GCD最大的一对数的GCD思路:暴力秒A,直接输出N/2代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing namespace std;const int N = 2e5+10;

2020-07-10 06:09:26

1370B - GCD Compression (1100)

1370B - GCD Compression题意:给一个大小为2N的数组A,请你从该数组从丢弃任意两个数,并将剩下(2N-2)个数两两相加,组成一个新的数组B,该数组B的所有元素的GCD>1思路:直接判断奇数奇偶性即可,丢弃两个数后使得奇数的个数为偶数,这样,奇数两两相加,偶数两两相加,GCD==2代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,m

2020-07-10 06:03:23

1370C Number Game (1400)

1370C题意:A和F博弈,给一个数字N,可以做一下两种操作:if(N>1)N--;if(x%2==1 && N%x==0 && N>1 && x>1)N/=x;不能进行操作的人会输,A先手思路:可以看出来,如果N>1&&(N&1)或者N==2,A能赢;如果N是偶数,但是N除以它的最大的奇数(大于1)的值大于2的话,A能赢;其他情况F会赢代码附:#pragma GCC optimize("O

2020-07-09 20:45:40

1370D - Odd-Even Subsequence(2000)

1370D - Odd-Even Subsequence题意:可以在长度为N的数组中任选K个元素组成一个新的数组,设这个新的数组中下标为奇数的元素中的最大值为K1,下标为偶数的元素中的最大值为K2,求MIN(K1,K2)思路:已知 1≤ai≤1e9,使用二分来寻找一个值X,这个X能够使得在选择了长度>=K的新数组后,在这个新数组中的下标为奇数(或者偶数)的所有元素的最大值<=X代码附:#pragma GCC optimize("Ofast","inline","-ffast-math

2020-07-09 20:01:37

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。