自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 凸包旋转卡壳 模板

原文链接 求一个凸包内最远两个点的距离。#include <iostream>#include <algorithm>#include <vector>#include <cmath>#include <iomanip>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 50010;str

2017-11-28 13:00:45 417

原创 Wannafly挑战赛4 C割草机 模拟

思路:由于水平方向只有两种走法,所以一定是从开始向右,然后向左,,向右。。。。。。所以奇数行向右,偶数行向左,注意一下上一行的最后位置就好。最后加上每次往下走的代价。#include <bits/stdc++.h>using namespace std;const int MAXN = 155;char str[MAXN][MAXN];pair<int, int> num[MAXN];in

2017-11-27 21:01:57 212

原创 poj 2104 主席树 详解

这篇代码来自链接 接下来主要说说我的理解。 主席树是一种线段树的前缀和,充分利用了先前节点来节省空间。每个节点存放了区间(离散化)中有多少个数。#include <cstdio>#include <iostream>#include <cstring>#include <queue>#include <cmath>#include <algorithm>using namespace

2017-11-22 11:09:38 278

原创 codeforces B - Ralph And His Magic Field 找规律

之前比赛以为是组合数,结果没写出来,然后手推规律,发现有个2的幂,但是不知道0的情况怎么解决,没想到打表。。 首先暴力打了个表:#include <bits/stdc++.h>using namespace std;const int mod=1000000007;const int MAXN = 15;int n, m, k;int ans;int a[MAXN][MAXN];bo

2017-11-20 12:28:02 399

原创 poj 1426 bfs+同余定理

#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cmath>#include <string>#include <cstdlib>#include <queue>using namespace std;const int MAXN = 10005;const i

2017-11-18 17:37:05 232

原创 CCF 201709-4 通信网络

思路:找标每个点能到达的点,最后统计一下。#include <cstdio>#include <vector>#include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;const int MAXN=1005;bool vis[MAXN][MAXN]

2017-11-18 13:37:25 281

原创 51 nod 1065 最小正子段和 排序大法好

思路:对前缀和排序,求相邻前缀和差的最小值和每个前缀和的最小值。#include <bits/stdc++.h>using namespace std;typedef long long LL;const int inf = 0x3f3f3f3f;const int MAXN = 50005;struct node{ LL sum; int k; bool oper

2017-11-13 10:37:21 211

原创 atcoder regular contest D abs 思路

传送门 思路:首先手推好多个样例最后都是不得不到最后两个做差。 A和B两个人玩游戏。 说说弱的想法: 我觉得先手A可以有以下拿法: 方案1:如果A拿到最后一张并且可以比其他策略更优,那么拿完。 方案2:如果拿完n张牌但是不如拿完n-1张牌,让给B拿最后一张更大,那么选这种。方案3:如果A拿完n-2,B有两种选择 {拿n-1(其实和A拿完全部等价)直接拿完剩下缩小差距(B不拿倒数第二个说

2017-11-12 20:45:52 406

原创 hdu Xor Sum 4825 01字典树

思路:把每个数按照其二进制位是1还是0插入到字典树中.在这里用二维数组储存。用一个全局变量cnt表示存放位置,每个数显然占了32个位置。 比如要存放3 4 5三个数,i表示数组第i行。 i=0 1 0 i=1 2 0 i=2 3 0 i=3 4 0 i=4 5 0 i=5 6 0 i=6 7 0 i=7 8 0 i=8 9 0 i=9 10 0 i=10 11 0 i=11

2017-11-10 10:33:47 178

原创 51 nod 1255 字典序最小的子序列

思路:我用一个模拟数组记录ans。标记每个字母最后出现的位置,每次插入新字母便覆盖前面比其优先级低的字母。相当于模拟了栈。#include <bits/stdc++.h>using namespace std;const int MAXN = 100005;bool vis[30];char str[MAXN];int ans[30],num[30];int main(){ s

2017-11-09 13:03:20 336

原创 腾讯云服务器用wordpress搭建个人博客相关文档

我用的是WordPress 开源博客系统(Centos 7.2 64位) 提供商: 杭州康展通信科技有限公司 相关文档连接http://www.kzyjs.com/cloudimage/qcloud/kz054/readme.pdf 按照上面一步步来。 首先出现这个界面: 欢迎使用WordPress。在开始前,我们需要您数据库的一些信息。请准备好如下信息。 数据库名 数据库用户名

2017-11-08 18:40:33 1170

原创 atcoder AtCoder Regular Contest 084 D - Small Multiple 最短路

传送门 思路:建立从1开始达到所有数的边,权值为位数和的差。最后dist[0]就是答案,代表最小的位数和能整除K。#include<bits/stdc++.h>using namespace std;typedef long long LL;const int MAXN = 1000005;struct node{ int from, to, w;} G[MAXN];int

2017-11-05 16:01:39 947

原创 Heron and His Triangle 规律+java大整数

先打个表,找出10000000以内所有的t满足 Triangle。 得到递推式dp[n]=4*dp[n-1]-dp[n-2] import java.util.Scanner;import java.math.BigInteger;public class Main { public static void main(String[] args) { Scanner sc

2017-11-05 13:18:39 925 1

原创 Wannafly模拟赛5 A split 二分

思路:开始以为是对以分割数一半的平方求和是最佳的,后来才知道平分才是最佳的。只想着5*5>4*6没想5*10+5*5>7*8+4*4 每次平分应该只能过%40的数据。#include <bits/stdc++.h>using namespace std;typedef long long LL;const int mod = 1000000007;const int MAXN = 5000

2017-11-04 14:53:38 224

原创 Wannafly模拟赛5 D Aria 全排列

思路:直接上next_permutation(a,a+n)数组开头和结尾,和sort一样。过了%20数据的童鞋试试把数组放dfs里面。#include<iostream>#include <cstdio>#include <algorithm>#include <queue>#include <cstring>using namespace std;typedef long long L

2017-11-04 08:45:40 402

原创 51nod 1043 幸运号码 数位dp

思路:首先可以把一个2*n位的数看成两个由n位组成的数,dp[i][j]表示位数为i的数的和为j的方案数。 需要用由于n*n肯定存不下,要用滚动数组(因为这里有个递推的关系)。 dp[i][j]=∑n∗9j=0∑9k=0dp[i−1][j−k]\sum_{j=0}^{n*9}\sum_{k=0}^9 dp[i-1][j-k] 开头为零,也就是前一位和与当前和一样的情况.dp[i][j]-dp[

2017-11-03 15:24:36 254

空空如也

空空如也

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

TA关注的人

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