自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 atcoder FT Robot(切割的dp)

一个机器人在(0,0)位置,给出一串指令和一个终点 FTFFTFFF 4 2 F即为向前走一格,T为顺时针或者逆时针转动. 问你能不能到终点, 指令最长为8000 一个dp的思路,dp[2][2][i],表示在该次行走后,能不能到i位置,0,1,分别表示x,y轴. 一般来说,在坐标轴的转移,都是[x][y]这样的平方转移,因为你不知道,下一次转移,可能是走x轴,也可能是走y轴,所以要

2018-01-30 16:33:51 207

原创 atcoder checker 坐标图

给出k,k意味着,假如k=3,那么这个图形就如上所示,无限延伸,想要知道,给出n个坐标,和这n个坐标的颜色,问你,这个图在所有摆放方式中,那种可以满足最多坐标条件? 1.所有点,都可以通过%2k来收缩到一个2k*2k的图内. 2.假如一个点在(x,y)要为黑,那么这同时意味着,(x+k,y)一定要为白,所以,所有都可以转化为白,问题就是要最多点满足,不需要每个点讨论. 所以问题就是,在底图移

2018-01-28 16:57:37 259

原创 atcoder Wide Flip 翻转

给出一个01序列,问你假如每次至少翻转长度k,使得最后全为0或1,这个k最大多少. 容易知道(百度知道) 一个数可以由(x,x+k+1)和(x+1,k+x+1)完成变换,所以不能这样做的是中间的连续段,长度为2k-n,所以求出中间最长连续段即可.#include using namespace std;#define debug(x) std::cerr typedef long

2018-01-27 13:43:06 252

原创 cf Exams 贪心+二分

n天,有m门考试10 30 0 1 2 3 0 2 0 1 21 1 4为0则代表当天只可复习,1~m则代表可以参加某一门考试,不参加也可以复习. 每一门考试有自己需要的复习时间. 这题的做法是二分后,贪心检测. 实在是不知道怎么做.. 因为这个题目是某种”分开的”,也就是你直接二分,二分后直接贪心,而不是他们混杂在一起,这一点我确实没有想到..这里的贪心,不像一些很难

2018-01-25 20:45:19 247

原创 所谓暴力

暴力就是,你要观察一下数据大小,如果是一些具体数字,却出现了限制,那很有可能需要暴力遍历,递归的话,如果有状态记录,则最多遍历状态种类数,如果没有记录,则可能要根据具体数据状态确定.

2018-01-23 13:26:47 128

原创 CF 线段树 gcd改变

Bash and a Tough Math Puzzle 可以过100的数据 但是50w就过不了了,具体不明,没看过题解. 没加第二种情况的返回值..#include #include #include #include #include #include #include #include #include #include #include #include

2018-01-22 21:51:27 233

原创 cf 644人 二进制 数位dp?

一个数变成他的二进制表示中的一的个数 6->2->1 问2^1000以下所有数中,可以进行这个操作k次的数有多少个. 找到每个数需要几次的思路是容易的,问题是这个组合数的计算过程 1,有自己和没自己,0则直接没自己#include #include #include #include #include #include using namespace std;#defin

2018-01-22 21:50:28 154

原创 Codeforces Round #457 (Div. 2) 916B Jamie and Binary Sequence (二进制)

给一个数n,让你用k个2的幂来表示他.但是这种表示中,必须要找到最大幂次最小,且字典序最小的那个序列. 例如 23,5 = 3 3 2 1 0 核心思想是,任何一个longlong,都可以二进制表示出来(废话). 但是任何一个二进制数,都可以通过2^x = 2*2^x-1来加一.所以,任何int,都可以被表示(在k足够大的情况下,即便x放到很大的负数,仍然可以.) 做法是,先将n的二进制表

2018-01-20 22:57:51 146

原创 cf 495人题 简单dp

就是python的语法,for之后一定要缩进,给出for或者statement的顺序,问你代码形式有多少种./* Farewell. */#include #include #include #include #include #include #include #include #include #include #include #include #inclu

2018-01-19 00:06:37 136

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除