自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (1)
  • 收藏
  • 关注

原创 换新博客啦!!!

新博客地址:miracle-qsh.github.io

2019-02-21 18:29:31 362

原创 P3808 【模板】AC自动机(简单版)

#include<bits/stdc++.h>using namespace std;queue<int> q;const int N = 500010;struct AC_automaton{ int c[N][26], val[N], fail[N], cnt; //c数组记录字典树节点,val数组为该节点是否为字符串结尾(个数)(记录字符串...

2019-01-23 20:21:40 319

原创 P2051 [AHOI2009]中国象棋(动态规划&&分类讨论)

洛谷题解:https://www.luogu.org/problemnew/solution/P2051#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll MAXN = 105;const ll MOD = 9999973;ll dp[MAXN][MAXN][MAXN];...

2019-01-22 15:27:31 312

原创 树状数组 做题笔记1

HDU - 1166 敌兵布阵:#include <bits/stdc++.h>using namespace std;int a[50005];char cmd[1005];int main(){ int t, n, m, i, j, k, ca = 1; scanf("%d", &t); while(t--) { ...

2018-12-24 17:25:10 226

原创 树的直径 学习笔记2(思维)

CodeForces - 1085D - Minimum Diameter Tree:题目大意:给你一棵树,让你分配边权,使树的直径最小。解题思路:均分给叶子节点,其余边权为零,这样答案一定是最小的。#include <bits/stdc++.h>using namespace std;int du[100005] = {0};int main(){ in...

2018-12-24 16:28:07 272

原创 JAVA中的线程 学习笔记

概念:1、JAVA多线程机制:不同线程之间的快速切换2、程序:静态代码3、进程:一次程序的动态执行过程4、线程:比进程更小的执行单位5、线程对象:用Thread及其子类表示多线程:public class Main { public static void main(String[] args) { // TODO Auto-generated method ...

2018-12-24 16:25:24 337

原创 树形DP 学习笔记1(树的最长路径)

POJ - 2631 Roads in the North:题目大意:给你一棵树,求树的最长路径,也就是树的直径。树的直径必然是树上某一个点开始往下的最长链和次长链之和,因此,对于每个节点记录两个值 dp1[ i ] 表示以 i 为根的子树中,i 到叶子节点的距离最大值,dp2[ i ] 表示以 i 为根的子树中, 除距离最大值所在的子树,i 到叶子节点的距离最大值(次大值):d...

2018-12-24 16:17:02 987

原创 树的直径 学习笔记1(入门)

 POJ - 2631 Roads in the North:题目大意:给你一棵树,求这棵树的直径。树的直径:树中最长的简单路径。简单路径:路径上各点均不重复。以下证明内容转自https://www.cnblogs.com/a-clown/p/6131346.html这里给出树的直径的证明:  主要是利用了反证法:  假设 s-t这条路径为树的直径,或者称为树上的最长路...

2018-12-24 16:00:58 331

原创 结构体中的运算符重载

struct node{ int data; bool operator < (const node b)const { return data < b.data; }}; 

2018-12-24 10:54:13 2125 1

原创 CodeForces - 1085D - Minimum Diameter Tree(思维)

题目大意:给你一棵树,让你分配边权,使树的直径最小。解题思路:均分给叶子节点,其余边权为零。#include <bits/stdc++.h>using namespace std;int du[100005] = {0};int main(){ int n, m, i, j, k; scanf("%d %d", &n, &m); ...

2018-12-24 10:41:13 354

原创 CodeForces - 1085C Connect Three(思维)

题目链接:https://cn.vjudge.net/problem/CodeForces-1085C题目大意:给了你三个点,让你建一条路把三个点都连起来,路径尽可能小。解题思路:构造题,找到中间位置的点,以他做垂线,两边的点水平连接。#include <bits/stdc++.h>using namespace std;set <pair<int, in...

2018-12-24 10:37:18 333

原创 数位DP 学习笔记2

题目HDU 4734 F(x):题目大意是给你两个数A,B,定义F(A)= 每个数位的数 * 2 ^ (位数 - 1)。求 0 - B 区间里的 F(x) <= F(A) 的数字的个数。一个数位DP的做法(TLE):#include <bits/stdc++.h>using namespace std;typedef long long ll;ll a[100...

2018-12-24 10:29:48 268

原创 数位DP 学习笔记1(数位DP入门)

HDU 2089 不要62:题目大意是给你一个区间,让你统计这个区间里不包含 4 和 62 的数字的个数。最朴素的思路是:对于每个区间 [l, r],遍历所有在区间 [l, r] 里的数字,然后检查每个数字是不是合法(没有 4 和 62 ),如果合法答案加一。代码如下:#include<bits/stdc++.h>using namespace std;boo...

2018-12-24 10:27:25 1039 1

原创 HDU - 2841 Visible Trees (容斥原理)

#include<bits/stdc++.h>using namespace std;typedef long long ll;ll prim[100005], lenp = 0, isprim[100005] = {0};ll data[100005], lend;ll n, m, t, ans;void getprim(){ ll i, j, k; ...

2018-12-21 20:50:13 218

原创 HDU - 1796 How many integers can you find (容斥原理)

#include<bits/stdc++.h>using namespace std;typedef long long ll;ll n, m, a[15], ans, p;ll lcm(ll a, ll b){return a * b / __gcd(a, b);}void dfs(ll x, ll sum, ll num){ if(num > m)ret...

2018-12-21 20:49:14 211

原创 HDU - 2204 Eddy's爱好 (容斥原理)

#include<bits/stdc++.h>using namespace std;typedef long long ll;ll prim[20] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61};int main(){ ll n, i, j, k, ans; while(scanf("%lld"...

2018-12-21 20:48:11 332

原创 HDU - 4734 F(x) (数位DP)

#include <bits/stdc++.h>using namespace std;typedef long long ll;ll a[15];ll dp[15][200005];ll po[15], maxx;ll F(ll x){ ll pos = 0, ans = 0, num, pi = 1; while(x) { n...

2018-12-18 21:11:06 217

原创 ACM英语单词

decimal 十进制binary 二进制 

2018-12-18 20:24:17 654

原创 HDU - 3555 Bomb(数位DP)

#include <bits/stdc++.h>using namespace std;typedef long long ll;ll a[1005], dp[1005][2][10] = {0};ll cnt(ll po, ll lim, ll la){ if(po == -1)return 1; if(dp[po][lim][la])return dp[...

2018-12-18 20:18:04 251

原创 HDU - 1698 Just a Hook (线段树区间修改+lazy标记)

#include <bits/stdc++.h>using namespace std;typedef long long ll;struct node{ ll l, r, sum;}a[400005];ll lazy[400005];ll num[100005];void build(ll loc, ll l, ll r){ if(l == r)...

2018-12-12 21:10:07 272

原创 HDU - 1754 I Hate It (线段树点修改)

#include <bits/stdc++.h>using namespace std;typedef long long ll;struct node{ ll l, r, sum;}a[1000005];ll num[200005];void build(ll loc, ll l, ll r){ if(l == r) { a[...

2018-12-12 21:08:26 260 1

原创 HDU - 1166 敌兵布阵(线段树点修改)

#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>using namespace std;typedef long long ll;ll num[50005];char cmd[105];struct node{ ll l, r...

2018-12-12 21:06:45 248

原创 POJ - 3281 Dining (最大流)

#include <cstring>#include <cstdio>#include <cstdlib>#include <algorithm>#include <queue>using namespace std;typedef long long ll;int mp[505][505], vis[505], s, t...

2018-12-12 21:02:14 179

原创 HDU - 2089 不要62(数位DP)

模板题 #include <bits/stdc++.h>using namespace std;typedef long long ll;ll a[15];ll dp[15][2];ll dfs(ll pos, ll sta, ll lim){ if(pos == -1)return 1; if(lim == 0 && dp[pos][...

2018-12-12 20:59:55 251

原创 HYSBZ - 1143 祭祀river (二分图最大匹配)

#include <bits/stdc++.h>using namespace std;int a[105][105] = {0};int pre[205], s[205] = {0}, vis[105];int cat(int x, int n){ int i; for(i = 1; i <= n; i++) { if(vis...

2018-12-12 20:53:14 248

原创 CodeForces - 1082C Multi-Subject Competition(前缀和+思维)

题目链接:https://cn.vjudge.net/problem/CodeForces-1082C题目大意:给定n名选手,每名选手都有唯一选择的科目si和对应的能力水平。并且给定科目数量为m。求选定若干个科目,并且每个科目参与选手数量相同的情况下的最大能力水平。解题思路:首先将每个选手的能力值插入到对应的科目里面,用优先队列维护,求前缀和,不断加入的答案数组里(为负值时不加入)...

2018-12-12 20:36:43 423

原创 CodeForces - 1088C Ehab and a 2-operation task(思维)

题目链接:https://cn.vjudge.net/problem/CodeForces-1088C题目大意:给你一个长度为 n 的序列,你可以对这个序列做如下操作:1、从 1 - i ,每个元素加一个正数 x2、从 1 - i ,每个元素 mod 一个正数 x问你能否在 n + 1 步操作内使这个序列严格递增解题思路:答案与元素没有关系,第一步 1 - n mod ...

2018-12-12 20:25:06 489

原创 CodeForces - 1084C The Fair Nut and String(简单DP)

题目链接:https://cn.vjudge.net/problem/CodeForces-1084C题目大意:给你一个由小写字母组成的字符串 s ,让你找一种序列:1、对于任意一个 i ,使得 s[ p[ i ] ] == 'a'2、对于任意一个 i ,存在 p[ i ] < j < p[i + 1],且s[ p[ i ] ] == 'b'求这种序列有多少个,答案...

2018-12-12 20:12:52 1081

原创 Gym - 101982B Coprime Integers(容斥原理)

#include<bits/stdc++.h>using namespace std;typedef long long ll;ll ans, p = 0, maxx, a, b, c, d;ll prim[10000007],num[10000005];void dfs(ll x, ll sum, ll num){ if(num > maxx)retur...

2018-11-30 16:46:50 551

原创 Codeforces Round #523 (Div. 2)

A简单题#include <bits/stdc++.h>using namespace std;typedef long long ll;int main(){ ll n, m, ans; cin >> n >> m; ans = m / n; if(m % n != 0)ans++; cout <...

2018-11-26 16:55:39 201

原创 HDU - 2176 取(m堆)石子游戏 (尼姆博弈)

题目链接:https://cn.vjudge.net/contest/269106#problem/Q题目大意:        m堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例如5堆 5,7,8,9,10先取者胜,先取者第1次取时可以从有8个的那一堆取走7个剩下1个,也可以从有9个的中那一堆取走9个剩下0个,也可以从有10个的中那一...

2018-11-08 21:17:15 284

原创 HDU - 1527 取石子游戏 (威佐夫博弈)

题目链接:https://cn.vjudge.net/contest/269106#problem/R题目大意:        有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好...

2018-11-08 20:53:01 222

原创 HDU - 2516 取石子游戏 (斐波那契博弈)

题目链接:https://cn.vjudge.net/contest/269106#problem/F题目大意:        1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win".解题思路:        斐波那契博弈,n为斐波那契数时...

2018-11-08 20:42:02 294

原创 SDUT- 3339 计算长方形的周长和面积(类和对象)

import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); String s; int i, l, r; whil...

2018-10-17 11:31:40 840

原创 SDUT- 2749 区域内点的个数

import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); int n, x1, y1, x2, y2, x, y, an...

2018-10-17 11:11:38 465

原创 SDUT- 2670 3-1 Point类的构造函数

import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); int a, b; a = cin.nextInt();...

2018-10-17 11:07:58 313

原创 SDUT- 2669 2-2 Time类的定义

import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); int a, b, c; a = cin.nextInt(...

2018-10-17 11:05:36 541

原创 SDUT- 2562 相似三角形

import java.util.Scanner;class Judge{ double a, b, c, a1, b1, c1; Judge(double a, double b,double c, double a1, double b1, double c1) { this.a = a; this.a1 = a1; this.b = b; this.b1 = b1...

2018-10-17 10:58:25 412

原创 SDUT- 2444 正方形

import java.util.Scanner;class Judge{ double x1, y1, x2, y2, x3, y3, x4, y4; Judge(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) { this.x1 = x1; thi...

2018-10-17 10:48:19 245

原创 SDUT - 2240 织女的红线

import java.util.Scanner;class Line{ double r, x, y, ans; int num; Line(int n, double ri, double xi, double yi) { num = n; r = ri; x = xi; y = yi; ans = 0; } void AddPoint(double xi...

2018-10-17 10:18:57 448

ACM国际大学生程序设计竞赛:算法与实现俞勇PDF完整版

ACM国际大学生程序设计竞赛:算法与实现俞勇PDF完整版

2018-08-23

空空如也

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

TA关注的人

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