自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (4)
  • 收藏
  • 关注

原创 UVALive 3667 dfs

UVALive 3667 Ruler

2017-03-08 14:00:46 275

原创 codeforces 777E dp+线段树+离散化

codeforces 777E

2017-03-02 11:27:23 841

原创 codeforces 765E dfs

codeforces 765E题意:每次从一棵树中找两根长度相同、起点相同的直链并删去其中一根。重复这个操作,求可以得到的最短直链的长度。需要注意的是树即使已经被删成直链了,如果长度是偶数还可以继续删的。 问题的关键是找到树中的“特殊点”,也就是我上面的图中的所有红点。“特殊点”的特点是它的度>2,且与它相连的直链长度不全相等,即以它为起点,不经过其他度>2的点,到达叶子节点的路径有至少两条,且长度不全相等。

2017-02-15 19:46:32 365

原创 codeforces 765A-C

C题有点坑被hack两次…#include<stdio.h>int main(){int N;scanf("%d",&N);if(N%2)printf("contest");else printf("home");return 0;}#include<stdio.h>int used[300];int main(){char c;while(c=getchar(),c!=EO

2017-02-14 22:35:57 515

原创 codeforces 765D 思维

codeforces 765D

2017-02-14 22:11:39 799

原创 codeforces 766E 二进制思想dp

官方题解看了半天硬是没懂… 这题主要是二进制的思想,因为异或是按位运算,可以把每个数按照二进制拆成若干个0和1,对每个”位”建树,然后用动态规划的思想求和。 具体实现方法: 以1为根建dfs树。想象从1到一个叶节点的一条路,又有1到另一个叶节点的一条路。假设我们暴力做,那答案里肯定得分别把这两个结果算出来加进去。那我们现在动态规划,就是尽量找到这两条路的公共部分,然后只算一次(就可以节约时间)。

2017-02-13 23:52:03 423

原创 codeforces 766D 并查集进阶

自己想的是并查集的思路,本题的同反义词相当于同一棵树里有两种“势力”,因此我维护了一个X[]数组,X[i]表示第i个节点与它的父亲的关系,1表示同-1表示异,这样写是为了可以负负得正。回头想想似乎用1和0就可以了,位运算还快一点。 并查集“并优化”的时候同时改变一下X数组,具体方式体现在代码里了。 被注释起来的两行错了我一晚上。一开始写的是1和-1,想了想不对改成x.second,就是没想到y.

2017-02-11 19:45:31 371

原创 codeforces 766A-C

codeforces 766A 766B 766CA就是两串的长度的较大值,或者两个串相等时-1 B题排序后三位一比较,如果有a[n]+a[n+1]>a[n+2]就可以。 C题看着有点吓人,其实第一第二问是可以一起算出来的。dp[i]表示前i个字母有几种,dp[i+1]=dp[i]+dp[i-1]+…+dp[i-k],k是满足从字符

2017-02-10 23:06:36 632

原创 POJ 2251 线段树

也可以用优先队列做哦,每次新加入一个元素的时候就踢掉比这个元素小的那些元素,然后队首就是最大值。 用线段树是基础题。#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxn=1048576;int arr[maxn],len,K,Min[maxn*2],Max[maxn

2017-02-10 14:08:27 222

原创 codeforces 19D 线段树

题意:有三种指令:向平面上增加一个点、减少一个点,或者给定一个点,在以它为原点的第一象限内找到x最小的点。如果有多个,要求y最小。坐标范围0到1e9,至多2e5条指令。 #include<stdio.h>#include<set>#include<algorithm>#define _(x) (std::lower_bound(X+1,

2017-02-09 18:20:53 427

AC自动机模板,OI/ACM通用.txt

AC自动机,Aho-Corasick automaton,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法,可以在O(n)的复杂度内构造并进行多模式字符串匹配。 本资源是我自己整理的ac自动机模板,经过了无数模板题和难题的考验,在进行codeforces等网站的在线编程竞赛时可以直接套用,备战ACM/OI时也可以作为学习参考。

2018-08-01

软件随想录(More joel on software)中英对照版.pdf

本pdf文档是<More joel on software>原版书,并在后面附加了中文译本,以便参考学习。 《软件随想录》,作者Joel Spolsky,译者阮一峰,以诙谐幽默的笔触将自己在软件行业的亲身感悟娓娓道来,观点新颖独特,内容简洁实用。全书分为36讲,每一讲都是一个独立的专题,分别介绍了作者在人员管理、程序员成长规划、软件设计细节、具体的项目管理、如何编程以及如何创办和经营软件公司等方面的独到见解。

2018-08-01

Java转Exe程序

直接将jar文件打包发布的小程序,按照zip中附带的说明操作即可,可以方便地让java代码在没有java环境的电脑上运行。

2018-07-31

编程高手箴言 梁肇新.pdf

讲述一个程序员成长的六个阶段: 1、能熟练地使用某种语言,这相当于练武中的套路和架式这些表面的东西。 2、精通基于某种平台的接口(如win的API),以及所对应语言的自身的库函数。这也就相当于可以进行真实的散打对练了,可以真实地在实践中做一些应用了。 3、此阶段能深入了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑” 4、此阶段能够直接在平台上进行比较深层次的开发。基本上能达到这个层次可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。这时已经不再有语言的束缚,此时语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。 5、此阶段已经不再局限于简单的技术上面的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。到了这个阶段就能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也一定能够设计出来。 6、最高境界,达到“无招胜有招”。这时候,任何问题都纯粹变成了一个思路问题,不是用什么代码就能表示的。此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁边看别人对战,就能把这拳来用。这个就是大师级别的人物。这时,Win32或Linux在眼里是没有什么区别的。

2018-07-31

空空如也

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

TA关注的人

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