自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 问答 (1)
  • 收藏
  • 关注

原创 POJ1981 Circle and Points(计算几何)

题意:给出一系列点,这些点之间的距离都在2附近,求一个单位圆最多能包含几个点。要点:极限情况就是2个点在圆的边上,这样就可以求出圆心,再枚举看其他点在不在圆内即可,复杂度是n^3。#include #include #include #include #include #define eps 1e-8using namespace std;struct no

2016-12-26 10:27:48 597

原创 POJ3731 Escape(组合数学)

题意:给你一个方格图,你在(0,0),最大是(x,y),x是横坐标,y纵坐标,你的基地在(sx,sy),然后你开头是面朝y轴正方向,你每次只能往前走一格,或者右转一格,问你有多少种不同的方法到达基地。要点:挺难的,还是看网上的题解。基本思路就是从(sx,sy)将方格图分成4个象限,这样考虑右转几次,同时计算组合,具体的看代码的注释吧。#include#include#inclu

2016-12-24 20:41:57 454

原创 POJ2478 Farey Sequence(欧拉函数)

题意:求Fi集合中元素的个数,其中Fi集合的元素满足下列条件:形如a/b,且0要点:就是欧拉函数的基本运用,不过用类似线性筛的方式写。#include#includeusing namespace std;typedef long long ll;const int maxn = 1e6+50;int num[maxn];ll s[maxn];void init()

2016-12-23 14:57:27 417

原创 multimap的使用方法

multimap主要用于一个key值对应多个value的情况,比如一个人可以有很多个电话号码,其他的使用都还简单,主要记录一下怎么遍历:/*multimap的遍历方法,主要利用multimap中同一个key对应的value值连续存储这一特性*/#include#include#include#includeusing namespace std;typedef multimap::

2016-12-17 13:42:05 1629

原创 codefores741B Arpa's weak amphitheater and Mehrdad's valuable Hoses(并查集+背包)

题意:给出一些女孩的体重和美貌程度,这些女孩是按照组在一起的,要么选一整个组,要么只能选组里的一个,最后求总重量为W的女孩最大美貌程度要求:这一看就是并查集+背包,主要是这个选择的问题,用背包时按组数遍历,每次状态转移一整个组或遍历整个组转移其中一个女孩,这里面的状态转移一开始没怎么搞清楚。#include#include#include#include#include#

2016-12-10 12:04:35 741

原创 codeforces741C Arpa’s overnight party and Mehrdad’s silent entering(二分图)

题意:有2n个人围成一圈坐在桌子边上,每个人占据一个位子,对应这2n个人是n对情侣,要求情侣不能吃同一种食物,并且桌子上相邻的三个人的食物必须有两个人是不同的,只有两种食物(1或者是2),问一种可行分配方式。要点:想不出来,后来看了网上的题解豁然开朗,题目要求情侣颜色不一样所以将情侣之间连无向边,然后要求连续三个人不能一样,那就干脆连续两个人都不一样,将第2*i-1与2*i个人之间

2016-12-10 11:59:36 767

原创 有环图求环的个数和具体节点数

这个问题一直没仔细写过,cf上做到了就写一下,就是用栈存储+回溯,很简单。#include#include#include#include#includeusing namespace std;const int N = 20;vector edge[N];int s[N],top=0;//stl里的stack没办法遍历,所以用数组模拟bool instack[N];int

2016-12-07 19:35:31 5439 2

原创 codefores741A Arpa's loud Owf and Mehrdad's evil plan(图找环)

题意:对于给定的一个数列a[n],如果现在点i,那么下一个点就在a[i],现在问给定n个点,找到一个最小的t,使得对于从任意一个点x出发,经过t次之后,到达的点y, 使得点y经过t次之后会回到点x。要点:一看就是图找环,找到所有独立的环对应的节点数,对所有节点数求最小公倍数就是结果。有个地方要注意就是,当节点数是偶数时,比如1->2->3->4->1,这种情况要将节点数/2计算,因

2016-12-07 16:49:08 486

原创 codeforces742B Arpa’s obvious problem and Mehrdad’s terrible solution(水)

题意:给出一系列数字,求两两异或为x有几对。要点:看范围10^5就知道直接循环肯定gg,所以用一个num[x]存储x出现过几次,一般用两个for可以简化,像下面这样:#include#include#include#include#include#include#include#includeusing namespace std;typedef long lon

2016-12-07 16:38:46 338

原创 HYSBZ2118 墨墨的等式(最短路径)

这题是校周赛上碰到的,很经典的一道题,里面的思想很巧妙。题意:中文题不解释要点:一开始根本想不到是最短路径,我们先把{an}中最小的值找到为a1,这样将所有的an%a1,这样最后的结果就是相当于x+k*a1,那么我们就要求这个x,也就是所有an%a1后组合可以达到的数。可以简单的看出x#include#include#include#include#include#i

2016-12-06 09:20:16 518

原创 【Dijkstra模板】codeforces715B Complete The Graph(最短路径)

struct Edge{ int from, to, dist; Edge(int u, int v, int w) :from(u), to(v), dist(w) {}};struct HeapNode{ int d, u; HeapNode(int x, int y) :d(x), u(y) {} bool operator<(const HeapNode &rhs) co

2016-12-03 12:20:32 522

空空如也

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

TA关注的人

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