自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021寒假算法复习

[LeetCode1631]二分+BFS。二分答案,用权值不大于二分值的边跑BFS,若起点终点能连通则可行。

2021-01-29 15:13:03 345

原创 2021春 算法复习

[USACO12FEB]Cow Coupons G贪心+堆。首先在优惠券没用完的情况下按优惠价从小到大全部买进。对于没购买的奶牛i,若想加购,可花费原价Pi,或挪用另一只奶牛j的优惠券,即花费Ci+Pj-Cj。故维护三个小根堆(P,C,P-C)即可。(代码略丑#include<iostream>#include<algorithm>using namespace std;int n,k,n1,n2,n3,ans,a[50010],b[50010],h1[5001.

2021-04-17 16:08:14 283

原创 Java学习笔记

第一讲 JAVA基本语法1.1变量1.1.1变量的命名规则5.2包的作用(1)允许类组成较小的单元(类似文件夹),易于找到和使用相应的文件(2)防止命名冲突(3)更好的保护类、属性和方法5.3包的创建若有包的声明,一定要作为Java源代码的第一条语句5.4包的命名规范包名由小写字母组成,不能以圆点开头或结尾 包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名 包名后续部分依不同机构内部的规范不同而不同5.5包的使用5.5.1通过完整的类...

2021-01-31 21:54:47 573 1

原创 通信-聊天室(JAVA)

如果之前没有接触过通信方面的知识,请移步https://blog.csdn.net/S_G_G/article/details/113482830。在有了初步尝试之后,我们可以试着写一个聊天室。其实只多了一个问题要解决:并发。我们的基本思路是: 1、服务器端接受客户部分另写一个继承于Thread类的Receiver类来实现。 2、服务器端,对于每个客户,都建立一个NetConn对象(也继承于Thread类)来实现与客户的通信。 3、每个客户...

2021-01-31 20:51:29 151

原创 通信入门-实时视频(JAVA)

概念引入首先,我们先来了解一下服务器端,客户端,IP地址,端口,ServerSocket,Socket这些名词的基本概念和它们之间的联系。我们先设定一个背景:你是游客小明,你无意中发现泉州是一个很棒的城市,并决定在假期去泉州游玩一波。这时,泉州这个城市就相当于一个提供服务的平台,它能为你提供观光、餐饮、住宿等服务。然而中国那么大,不止泉州这一个城市,为了不迷路,我们就需要泉州的IP地址(其实我这个例子举得不好,泉州城的位置是固定不变的,在这里用mac地址更恰当)泉州有一位林老板,他的梦想是

2021-01-31 19:19:02 616

原创 [codeforces 720B]Cactusophobia

【题目大意】给一棵n(【解题思路】删边成一棵树即在每个环里删一条边。然后建图求最大流即可。不属于任何一个环的边也要当成一个环加进网络流图里。【呆马】#include#include#include#include#includeusing namespace std;const int N=10010,M=15010,inf=1e9;

2016-11-17 21:01:47 635

原创 [codeforces 734E]Anton and Tree

【题目大意】给一棵n(【解题思路】先将相同颜色的连通块缩点,然后我们就得到了一棵黑白相间的树。我们可以发现当确定一个点为根时的最少操作数为树的高度减一。当以树的直径的中点为根时树的高度最小。因此答案为(树的直径长度+1)/2。用dp或者两次dfs求出树的直径。【呆马】#include#include#inclu

2016-11-16 23:02:37 457

原创 [codeforces 734F]Anton and School

【题目大意】给出长度为n(【解题思路】因为(a and b)+(a or b)=a+b,所以有Σa=(Σb+Σc)/(2*n),然后就可以通过a[i]=(b[i]+c[i]-Σa)/n求解【呆马】#include#include#include#include#includeusing namespace std;const int N=200001;long long n,

2016-11-16 22:46:35 413

原创 [czyz模拟赛]WM度假

【题目大意】给N(【解题思路】一开始看这题是qzyz的题目死活不打cdq,想了半个多小时的线性规划终于怒打cdq,结果打完才发现就是一道简单分治,感觉自己是个智障。。。先以x为关键字排序,然后分治。每次分治用[l,mid]的组来判断[mid+1,r]的组是否可取,先将l到r的组按y排序,然后扫一遍,如果属于[l,mid]就更新Min,否则如果MinO(NlogN)

2016-11-14 23:10:20 555

原创 My Notes

设f[n]为斐波那契数列的第n项,有f[f[n]]=f[f[n % 6e9+48]%2e9+16]%1e9+7

2016-11-11 15:21:19 407

原创 [codeforces 725F]Family Photos

【题目大意】有n(【解题思路】贪心。我们对每组照片分情况进行讨论:a1+b1=a2+b2,即a1-b2=a2-b1,这组照片对谁有益谁就一定会取1,另一个人就一定会取2,所以这组照片的贡献一定是a1-b2a1+b1>a2+b2,即a1-b2>a2-b1且b1-a2>b2-a1,谁抢到1都对那个人更优,这时我们可以假设A取到了两张照片,ans+=a1+a2,然后把两张照片被B

2016-11-10 12:03:06 538

原创 USACO合集

[2005Mar]酸奶工厂  O(N)模拟,产量不限,所以每个月的订单都可以从最优月生产,MinC=min(MinC+S,C[i]),当月成本=MinC*A[i][2005Oct]奶牛工资  O(NK)贪心,从大到小装,如果没恰好装满找一个加上去大于C的最小的加上去[2005Feb]愤怒的奶牛   O(NlogX)二分答案,然后直接模拟[2014Feb]全能奶牛  O(2^N(N+B)

2016-11-08 19:56:59 494

原创 [BZOJ4695][picks loves segment tree III]

【题面】Description给定一个长度为 N序列,编号从1 到 N。要求支持下面几种操作:1.给一个区间[L,R] 加上一个数x 2.把一个区间[L,R] 里小于x 的数变成x 3.把一个区间[L,R] 里大于x 的数变成x 4.求区间[L,R] 的和5.求区间[L,R] 的最大值6.求区间[L,R] 的最小值Input第一行一个整数 N

2016-11-07 14:21:26 1969

原创 [codeforces721E]Road to Home

【题目大意】有一条长为l的公路(可看为数轴),n盏路灯,每盏路灯有照射区间且互不重叠,有个人要走过这条公路,他只敢在路灯照射的地方唱歌,固定走p唱完一首歌,歌曲必须连续唱否则就要至少走t才能继续唱,按序给出路灯照射范围【解题思路】简单可证对于一段照射区间要么不唱歌要么能唱多久唱多久DP,f[i]表示前i段最多能唱几首歌,g[i]表示在唱f[i]首歌的情况下最早在什么

2016-11-04 21:29:15 724

原创 [BZOJ3219]巡游

【题目描述】DescriptionTar国正在准备每年一次的巡游活动。国王将会在一个城市S里召集人群,沿着城市间的道路进行游览,最终在一个城市T里发表他每年一次的著名演讲。Tar国有N个城市,由于国家的特殊要求,每两个城市之间存在一条唯一的简单通路。国王希望借着这个机会视察Tar国的城市建设,因此他提出S到T的距离不能少于L条道路。同时,国王的私人医生检查了他的身体情况

2016-11-03 20:02:31 576

原创 [Usaco2011open][BZOJ2444]焊接

Description奶牛们正在玩电线!他们学会了焊接:把两条电线连接起来,将某条的端点焊接到另一条的中间某个位置(注意:不能够将两条电线的端点焊接起来,即中间某个位置不包括端点)。当然,中间的同一个位置可以焊接多条电线。(并且焊接点必须为整数点,这个好像英文题面没说,我是这么理解的)奶牛们准备建造一个神奇的结构。它是一个N(1 并且任意两个节点连通。每条边通过

2016-11-03 16:24:40 1565

转载 C++ vector

转自http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout<vector<int>::it

2016-11-03 08:50:28 302

原创 [GDOI2017模拟]最大值(贪心+递推)

【题面】【解题思路】以下的数均已转为二进制数AND:贪心,从高位往低位,如果集合里的数有这一位的个数小于2,说明答案里不可能包含这一位,继续做下一位的操作;如果个数大于2,显然取有这一位的数会比其他数更优,把其他数从集合中删除。XOR:贪心,建一棵字典树,同样是尽量使高位为1OR:递推,设f[x](x为压缩状态)为是否有数包含x集合,

2016-11-02 10:34:01 339

原创 C++ map

【写在最前】        神犇们请自行跳过这段0 0,已经三次要打map的时候才发现自己又忘得干干净净,于是今天请俊god帮我复习了一遍,然后赶紧码了这篇博客,以免以后再浪费god们的宝贵时间。以下内容如有什么错误烦请god们写在评论里。【正题】定义格式:map 数组名 1.变量类型可以是int,char,string等2.类型1为键值,类型2为存储值

2016-11-01 15:50:18 354

原创 [bzoj3236][Ahoi2013]作业(莫队+树状数组)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=3236 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostream>const int N=1e5+1,M=1e6+1;using namespace std;

2016-07-28 16:25:33 381

原创 [hdu3652]B-number(数位dp)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=3652 【解题思路】还记得第一次打这题时和战神改的十分艰辛QAQ。预处理f[i][j][0/1][k]表示长度为i,第i位为j,是否包含13,%13=k的数的个数。统计细节有:已处理位即已确定位如包含13后面可任取。当前处理位>3且前一位确定为1则当前这位取3后后面可任取。注意不要重复计数。 【呆马

2016-07-27 21:06:31 284

原创 [bzoj1131][POI2008]Sta(树上dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1131 【呆马】#include<algorithm>#include<cstdio>#include<cstdlib>#include<iostream>#include<cmath>const int N=1e6+1;using namespace std;struct

2016-07-27 15:20:22 408

原创 [bzoj1369][Baltic2003]Gem(树上dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1369 【解题思路】标上的权值不会超过log2(N),好像SDOI2015R2D2T2也要证这个然而我太弱了根本不会证。 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include

2016-07-24 21:54:31 469

原创 [bzoj4562][Haoi2016]食物链(拓扑序+dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=4562 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostream>const int N=1e5+1;using namespace std;struct

2016-07-24 00:02:58 301

原创 [bzoj1812][ioi2005]riv(树上dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1812 【解题思路】转化为二叉树更方便。可以从Bytetown向后dp同时记录每个点在Bytetown方向上的最近锯木厂以满足无后效性。 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>

2016-07-23 17:16:54 550 1

原创 [bzoj1063][Noi2008]道路设计(树上dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1063 【解题思路】切入点是第一个答案不可能大于log3(N),用树链剖分的思想易证不大于log2(N),用满三叉树也不难反证出不大于log3(N),然后就可以将“不便利值”记录进状态了。可参考(http://blog.csdn.net/thy_asdf/article/details/4

2016-07-23 17:08:44 354

原创 [bzoj2300][HAOI2011]防线修建(splay)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=2300 【解题思路】离线倒序处理。问题就变成了每次加一个点维护凸包。用splay查找当前所加点对凸壳有影响的区间的两个端点。splay以横坐标为序,记录每个点与前后两个点的斜率。 【呆马】#include<cstdio>#include<algorithm>#include<cmat

2016-07-22 15:10:06 456

原创 [bzoj3522][Poi2014]Hotel(暴力)

【题目链接】http://www.lydsy.com/JudgeOnline/status.php?user_id=SGG 【解题思路】暴力枚举中点,直接计数即可 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostream>#define ll long longco

2016-07-21 15:08:13 444

原创 [bzoj1912][Apio2010]patrol 巡逻(树上dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1912 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostream>const int N=1e5+1;using namespace std;struct

2016-07-21 14:13:12 343

原创 [bzoj1060][ZJOI2007]时态同步(树上dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1060 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostream>#define ll long longconst int N=500001;using

2016-07-21 01:53:54 491

原创 [bzoj2435][Noi2011]道路修建(树上dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=2435 【解题思路】树上DP(DFS用内嵌汇编手动开大系统栈或者写BFS) 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostream>const int N=

2016-07-20 21:42:35 499

原创 [bzoj4443][Scoi2015]小凸玩矩阵(二分答案+二分图最大匹配)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=4443 【解题思路】二分答案转化为判定性问题,将数值小于等于二分值的节点拿去建二分图,跑一边最大匹配即可 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostrea

2016-07-20 21:04:15 903

原创 [bzoj1562][NOI2009]变换序列(贪心+dfs/二分图最大匹配)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1562 【解题思路】%byvoid https://www.byvoid.com/blog/noi-2009-transform/ 【呆马(贪心+dfs)】#include<cstdio>#include<algorithm>#include<cmath>#include<cstd

2016-07-20 17:58:08 588

原创 [bzoj1854][Scoi2010]游戏(并查集/二分图最大匹配)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1854 【解题思路】二分图匹配顺序增广即可,还有神奇的并查集做法,详见黄学长博客(http://hzwer.com/2950.html) 【呆马(并查集)】#include<cstdio>#include<algorithm>#include<cmath>#include<cstd

2016-07-20 13:47:31 473

原创 [bzoj1864][Zjoi2006]三色二叉树(树上dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1864 【呆马】#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostream>#include<cstring>const int N=500001;using nam

2016-07-19 15:37:26 402

原创 [bzoj1040][ZJOI2008]骑士(树上dp)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1040 【题目大意】每个人有战斗力和一个痛恨的人,他不能与那个人一起出征,求最大战斗力总和 【解题思路】整体的图由一个或多个联通块构成。每个联通块点数等于边数。由于每个点至少连一条边所以这是一个环套树(在一棵树上加一条边构成的图)。dfs随意拆环,按被拆边两个端点的选取情况进行两次dp择

2016-07-19 14:47:12 451

原创 [POJ1987]Distance Statistics(点分治)

【题目链接】http://poj.org/problem?id=1987 【题目大意】给定一棵树,每条边有权值,求距离<=k的点对数 【解题思路】树上点分治基础题,更新答案时用容斥原理把子树信息一起处理#include<cstdio>#include<algorithm>#include<cmath>#include<cstdlib>#include<iostream>const in

2016-07-19 11:50:54 409

原创 [BZOJ1010][HNOI2008]玩具装箱toy(斜率优化)

Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1…N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充物,形式地说如果

2015-08-05 17:05:39 628

原创 [BZOJ2815][ZJOI2012]灾难(拓扑+倍增)

【问题描述】阿米巴是小强的好朋友。 阿米巴和小强在草原上捉蚂蚱。小强突然想,如果蚂蚱被他们捉灭绝了,那么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引发一系列的生态灾难。 学过生物的阿米巴告诉小强,草原是一个极其稳定的生态系统。如果蚂蚱灭绝了,小鸟照样可以吃别的虫子,所以一个物种的灭绝并不一定会引发重大的灾难。 我们现在从专业一点的角度来看这个问题。我们用一种叫做食物网的有向图来描述生物

2015-08-04 23:53:27 1872

空空如也

空空如也

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

TA关注的人

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