自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vladik and Memorable Trip CodeForces - 811C DP

传送门:CodeForces - 811C题意:给定N个数,将它们划分成任意多个区间,要求:相同的数要么在同一个区间内,要么不在任何区间内。问区间异或和最大是多少。思路:可以预处理出区间异或值来,也可以动态求,然后dp求一个最大值。代码:#include#define ll long long#define fi first#define se second#define pi

2017-05-31 20:59:41 291

原创 Vladik and Favorite Game CodeForces - 811D bfs+模拟

传送门:CodeForces - 811D题意:给定n*m的图,你输出一个方向之后,系统反馈给你一个坐标,表示走完这步之后到的位子,问怎样走能在在2*n*m步之内走到终点。起点是(1,1),终点是'F',‘*’表示不能走,游戏开始的时候,可能将U和D互换,即如果我们操作了U,但是实际是走到了D。L和R同理。思路:看完题意就被吓到了,这是什么鬼题,特别是还有ffl

2017-05-31 19:36:01 273

原创 codeforces 810C Do you want a date? 思维

传送门:codeforces 810C题意:给定一个集合,包含这n个整数,让你求出这个集合的所有子集a的F(a)和,这里的F(a)=集合a中最大和最小元素的差。思路:第一眼肯定想到sort后暴力枚举两个端点,然而这并不现实,然后我就没思路了。。正解1:戳这里正解2:其实完全可以不用枚举端点,稍稍转化一下思维,当某个数做端点的时候它一定是被加到或者从总和中减去,这样我们可以尝试是否可

2017-05-31 00:15:47 271

原创 Number of Parallelograms CodeForces 660D 思维题

传送门:CodeForces  660D题意:给定N个点,问这N个点能组成多少个平行四边形。思路:根据数据量判断显然我们不能枚举四个点判断是否为平行四边形,注意到关键信息--任意三点不共线,我们可以考虑枚举平行四边形对角线的中点,如果两条线段的中点重合,那么这两条线段的端点一定能组成一个平行四边形。代码:#include#define ll long long#define p

2017-05-30 22:21:25 215

原创 Nested Segments CodeForces 652D 树状数组+离散化

传送门:CodeForces  652D题意:给出n个区间,问每个区间包含多少区间。思路:同时维护两个端点不好维护,我们可以按其中一个端点排序然后维护另一个端点,用树状数组维护一下就好了。代码:#include#define ll long long#define pi acos(-1)#define MAXN 100010#define inf 0x3f3f3f3fusin

2017-05-30 21:07:34 332

原创 Painter's Problem POJ1681 高斯消元

传送门:POJ1681题意:给定n*n矩阵,

2017-05-27 21:35:05 249

原创 New Skateboard CodeForces - 628B 思维

传送门:CodeForces - 628B 题意:问给定的大数串中有多少个子串是4的倍数(可含前导零)。思路:想暴力都不知道该怎么写。。正解:因为100是4的倍数,所以我们只检查每相邻两位就好了。。看哭了。。代码:#includeusing namespace std;string s;int main(){ cin>>s; int sz=s.size(); lo

2017-05-24 22:00:26 271

原创 The Smallest String Concatenation CodeForces - 632C 思维

传送门:CodeForces - 632C题意:给出N个字符串,问这N个字符串可以组成的字典序最小的字符串是什么。思路:乱搞怎么都不对,看了题解也不明白为什么。。正解:保证相邻的两个串连接起来是字典序最小的,那么拼接起来的总串就是字典序最小的(然而并不明白是为什么)。代码:#includeusing namespace std;string s[100010];bool

2017-05-24 21:54:50 412

原创 Longest Subsequence CodeForces - 632D 思维

传送门:CodeForces - 632D题意:给定一个序列,求一个最长的子序列满足子序列中所有元素的lcm不大于m。思路:一点思路也没有。。正解:因为m很小,我们可以枚举因子,看看每个数的因子有在序列中多少个,这样因子最多的那个数一定就是要求的lcm。代码:#include#define ll long long#define pi acos(-1)#define in

2017-05-24 21:48:57 300

原创 Magic Numbers CodeForces - 628D 数位DP

传送门:CodeForces - 628D题意:定义d-magic数为d出现且只出现在偶数位上。问[l,r]内%m==0的d-magic数有多少个。思路:一看便知是数位DP,还是很水的那种。。然而蒟蒻并不会。。坑点:因为是大数,所以边界不能直接-1,可以用字符串模拟大数-1,也可以单独判断一下边界。代码:#include#define ll long long#define

2017-05-24 20:59:24 259

原创 New Year Tree CodeForces - 620E dfs序+线段树+状压

传送门:CodeForces - 620E题意:给定一棵树,每个节点都有自己的颜色,有两种操作1.  给定v , c,将节点v及其子树都染成c颜色2.  给定v ,统计节点v及其子树上的节点一共有几种颜色。思路:很明显可以就看出来是线段树的操作,但是就是不知道怎么建树。。应该是按照dfs的顺序对所有节点进行重标号,这样每个节点的子树中节点的标号范围也就是连续的了,然后就能进行正

2017-05-24 19:44:09 236

原创 Professor GukiZ and Two Arrays CodeForces - 620D 二分瞎搞

传送门:CodeForces - 620D题意:给定两个序列,可以交换两个序列中的任意一个元素,但是最多交换两次,问交换后两个序列的和的差最小是多少。思路:根据数据量显然我们可以直接暴力求出来交换零次和一次的最小差值,两次的话就不能直接暴力了,考虑优化,假设未交换时两序列差值为s,那么交换两次后(假设交换了a[i],a[j],b[u],b[v])差值为:s-2*a[i]-2*a[j]+

2017-05-24 18:44:15 233

原创 CodeForces - 622D Optimal Number Permutation 贪心+找规律

传送门:CodeForces - 622D 题意:用1-n组长度为2n的序列,要求每个数出现2次,假设位置分别为xi、yi(xi 思路:由公式可以看出应该贪心的使di==n-i,因此1中间应该隔n-2个数,2中间隔n-3个数,3中间隔n-4个数。。。以此类推,不难发现3及其中间的数恰好可以放到1中间,5及其中间的数可以放到3中间。。2、4、6同理,便可构造出满足要求的序列。代码:#in

2017-05-23 18:28:38 232

原创 CodeForces - 622E dfs+贪心

传送门:CodeForces - 622E题意:给定一颗树,每个叶子节点上有一蚂蚁,除了根结点的之外的所有节点任意时刻至多只能有一个蚂蚁,每个蚂蚁每秒能移动到相邻的节点上,问所有蚂蚁移动到根结点的最短时间是多少。思路:一看到树形图在加上求最小值,还以为是树形DP,然而贪心就足够了。因为要求最短时间,所以我们要尽可能地让所有蚂蚁同时动,因此就要让离根节点最近的先到根结点,如果让离根节点远的蚂

2017-05-23 11:15:22 348

空空如也

空空如也

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

TA关注的人

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