gwj1139177410的博客

Link-Cut, Time doesn’t stop. Prepare your doubts, Eat them up.

【Vijos1264】神秘的咒语

problem solution codes #include <iostream> #include <cstdio> #include <algorithm&...

2018-05-31 21:44:46

阅读数:59

评论数:0

【Vijos1180】选课

problem solution codes //vijos 1180 #include<iostream> #include<vector> using na...

2018-05-31 21:43:28

阅读数:22

评论数:0

【vijos1234】口袋的天空

problem solution codes #include<iostream> #include<algorithm> using namespace st...

2018-05-31 21:42:05

阅读数:25

评论数:0

【vijos1790】拓扑编号

problem solution codes //vijos1790 //拓扑排序的本质是本次将入度为0的点排到序列的最前端。 #include<iostream> #include<vector&...

2018-05-31 21:40:03

阅读数:26

评论数:0

【WC2008】【BZOJ1271】秦腾与教学评估(二分,前缀和,奇偶性乱搞)

problem 一条路上有n个教学评估团,对于每个评估团从s开始每d个站一个人直到e结束 现在要找到一个站的人数是奇数的点,这个点可能没有,且至多只有一个 问这个点在哪以及这个点站了多少人 solution 因为最多只有一个点是奇数,所以很显然会想到奇数+偶数=奇数,所以说明这个点...

2018-05-31 21:36:35

阅读数:33

评论数:0

【Baltic2003】【BZOJ1370】Gang团伙(并查集,拆点)

【Baltic2003】【BZOJ1370】Gang团伙(并查集,拆点) problem 给定n个人 朋友的朋友是朋友,敌人的敌人是朋友 朋友之间组成一个团伙,求团伙数 solution 将每个点x拆成两个:x和x+n(分别表示x的朋友和敌人) 如果x和y是朋友,就将x和y合...

2018-05-31 15:28:02

阅读数:41

评论数:0

【基础】二分算法学习笔记

1、二分的基本用法是在单调序列或单调函数中进行查找。 2、当问题的答案具有单调性时,就可以通过二分把求解转化为判定(判定一般比求解容易实现。 A基本用法 (这里都是个人写法,可以跳过 1、整数域 1)原则 最终答案处于闭区间[l,r]内 循环以l==r结束 每次二分中间值mid归...

2018-05-31 13:21:06

阅读数:54

评论数:0

【codevs1294】全排列

problem solution codes #include<iostream> using namespace std; int n, c[20]; void dfs(int cur){ if(cur == n){ ...

2018-05-31 12:55:44

阅读数:33

评论数:0

【codevs1295】N皇后问题

problem solution codes //c[i]:第i行的皇后放在第几列 #include<iostream> using namespace std; int n, c[20], ans; void dfs(int cur)...

2018-05-31 12:54:55

阅读数:26

评论数:0

【codevs1116】四色问题

problem solution codes //尝试填每个点每种颜色填过去就好啦 #include<iostream> using namespace std; int n, e[10][10]; int c[10], ans; vo...

2018-05-30 21:38:14

阅读数:66

评论数:0

【codevs1026】逃跑的拉尔夫

problem solution codes #include<cstdio> #include<queue> #include<set>//set...

2018-05-30 21:36:21

阅读数:21

评论数:0

【NOIP2000】【vijos1347】乘积最大

problem solution codes //f[i][j]:前i位数包含j个乘号时能获得的最大值 //转移,枚举每个乘号的位置即可,O(n^3)可过。 #include<iostream> #include<...

2018-05-30 21:34:41

阅读数:15

评论数:0

【JSOI2014】【BZOJ5039】序列维护(线段树模板)

problem 已知一个数列,你需要进行下面三种操作: 1.将某区间每一个数乘上x 2.将某区间每一个数加上x 3.求出某区间每一个数的和 solution 区间修改+区间查询。 维护两个LazyTag codes #include<iostre...

2018-05-30 21:21:46

阅读数:27

评论数:0

【NOIP2013】【Luogu1966】火柴排队(逆序对)

problem 给你两个长为n的序列 最小化∑ni=1(a[i]+b[i])2∑i=1n(a[i]+b[i])2 \sum_{i=1}^n(a[i]+b[i])^2的值,答案%99999997。 solution 一、数学证明 展开:∑(ai2+bi2−2∗ai∗bi)=∑ai2...

2018-05-30 21:15:31

阅读数:32

评论数:0

【基础】排序算法学习笔记

NOIP范畴常见的排序一般是这几种 1、冒泡排序,选择排序,插入排序 2、快速排序,归并排序,堆排序 3、计数排序,基数排序,桶排序 前两类是基于比较的,第三类是基于统计的。 第一类都是O(N^2)的,第二类都是O(NlogN)的。 //冒泡排序 //1.相邻的数据两两比较,小数放前面...

2018-05-30 13:31:51

阅读数:22

评论数:0

【Luogu1908】逆序对(离散化,树状数组求逆序对)

problem 给你一个长为n的序列A[] 求该序列的逆序对个数 solution 用b[i]保存数值val在序列A中出现的次数,那么数组b[i]在[l,r]上的区间和,就表示序列A在范围[l,r]内的数有多少个。 我们在序列a的数值范围上建立一个树状数组,维护b的前缀和。 倒序扫描序...

2018-05-30 13:25:26

阅读数:56

评论数:1

【POJ2299】Ultra-QuickSort(逆序对,归并排序)

problem 多组数据,每组给你一个长为n的序列 求该序列的逆序对个数 solution 对于 i < j 且 a[i] > a[j],称a[i]与a[j]构成逆序对。 归并合并比较时,对于两个指针i,j :如果a[j] &...

2018-05-30 13:11:55

阅读数:27

评论数:0

【POJ1723】SOLDIERS(中位数,货仓选址)

problem 平面上有N(N<=10000)个点 求这些点变成一条水平线的最小移动步数 solution 对于y轴,易证得在中位数处取到最优,直接排序统计即可。 对于x轴,因为要保证相对顺序,(比如:原来三个士兵的x坐标是 -1 5 6,那么在他们移动之...

2018-05-30 12:52:56

阅读数:135

评论数:0

【HAOI2008】【BZOJ1045】糖果传递(环形纸牌均分,前缀和)

problem 一个有n个数的环 每次只能向相邻的数移动,移动一个数代价为1 求让所有数相等的最小代价 solution 一:思路 1、纸牌均分问题每行答案是∑ni=1|i∗T/n−G[i]|∑i=1n|i∗T/n−G[i]| \sum_{i=1}^n|i*T/n-G[i]| ,其...

2018-05-30 12:31:21

阅读数:63

评论数:0

【codevs1004】四子连棋

problem solution codes //思路:把空白当棋,交替黑白走。 //实现:BFS, 打表判断是否成立 #include<iostream> #include<algorithm&g...

2018-05-29 21:38:26

阅读数:28

评论数:0

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