自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 对拍程序

Linux中,新建dp.sh,内容如下:#!/bin/bashwhile true ;do# ./gen >in# ./bruteforce <in >ans# ./my <in >out# if diff out ans; then ./$1 <$2.in >out if diff -b -y --s...

2017-07-29 02:27:00 61

转载 ACM中的fread读入

fread可以加快读入速度,尤其是读特大的二进制文件。#include <cctype>typedef long long LL;char buf[100000],*p1=buf,*p2=buf;inline char nc(){ return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1=...

2017-07-29 02:15:00 175

转载 「2017 Multi-University Training Contest 1」2017多校训练1

1001 Add More Zero(签到题)题目链接 HDU6033 Add More Zero找出最大的k,使得\(2^m-1\ge 10^k\)。直接取log,-1可以忽略不计。#include <cstdio>#include <cmath>int cas,m;int main(){ while(~scanf("%d",&m)...

2017-07-29 01:47:00 108

转载 「UVA10766」Organising the Organisation(生成树计数)

BUPT 2017 Summer Training (for 16) #6C题意n个点,完全图减去m条边,求生成树个数。题解注意可能会给重边。然后就是生成树计数了。代码#include <cstdio>#include <cstring>#include <algorithm>#define N 101#define eps (1...

2017-07-28 20:55:00 90

转载 「POJ-3608」Bridge Across Islands (旋转卡壳--求两凸包距离)

题目链接 POJ-3608 Bridge Across Islands题意依次按逆时针方向给出凸包,在两个凸包小岛之间造桥,求最小距离。题解旋转卡壳的应用之一:求两凸包的最近距离。找到凸包 p 的 y 值最小点 yminP 和 q 的 y 值最大点ymaxQ,然后分别做切线如图。那么\(AC\times AD> AC\times AB\)则说明B还不是离AC最近的点,...

2017-07-25 20:30:00 142

转载 「AtCoder Grand018B」Sports Festival(暴力)

题目链接B - Sports Festival题意n(1~300)个人m(1~300)个活动,\(A_{ij}\)表示i第j喜欢的活动,每个人选择在举办的活动里最喜欢的,因此可以通过选择一些活动来举办,使得最多人参加的活动的参加人数最少,求这个最小值。题解每次找到最多人参加的活动,置为不举办的,然后再遍历一遍找到最多人参加的活动。。。代码#include <cstdio...

2017-07-23 23:15:00 113

转载 「AtCoder Grand018A」Getting Difference(GCD)

题目链接A - Getting Difference题意有n(1~\(10^5\))个数\(A_i\) (1~\(10^9\)),每次选两个数,将它们的差的绝对值加入这堆数。问k(1~\(10^9\))是否可能出现在这堆数中。题解因为选择的数的差一定是这两个数的gcd的倍数,因此可以令g为所有数的gcd,那么g的不超过数组中最大值的倍数都是可以得到的。代码#include &...

2017-07-23 23:06:00 75

转载 「POJ 1135」Domino Effect(dfs)

BUPT 2017 Summer Training (for 16) #3G题意摆好的多米诺牌中有n个关键牌,两个关键牌之间有边代表它们之间有一排多米诺牌。从1号关键牌开始推倒,问最后倒下的牌在哪里,以及时刻。题解注意最后倒下的可能不是关键牌,而是关键牌之间的牌。dfs找出每个关键牌最早到达的时间,也就是它们倒下的时刻。然后再对每条边,计算边上最后倒下的牌的时间。其实就是跑一...

2017-07-22 01:53:00 63

转载 「CodeForces 581D」Three Logos

BUPT 2017 Summer Training (for 16) #3A题意给你三个矩形,需要不重叠不留空地组成一个正方形。不存在输出-1,否则输出边长和这个正方形(A,B,C表示三个不同矩形)。题解我的做法是直接枚举三个是否旋转90度,然后考虑两种组成,|||和=|,枚举3的排列。其实可以先计算面积s,如果r=sqrt(s)不是整数则无解。然后找到一个较长边为r的矩阵先输...

2017-07-21 22:08:00 87

转载 「HDU - 2857」Mirror and Light(点关于直线的对称点)

题目链接 Mirror and Light题意一条直线代表镜子,一个入射光线上的点,一个反射光线上的点,求反射点。(都在一个二维平面内)题解找出入射光线关于镜子直线的对称点,然后和反射光线连边,与镜子的交点即是所求点。用这题来测测板子。然后wa了一下,因为没注意要保留3位小数。这种输出错误要多注意啦,类似最近忘记加Case #x的错误- -||。代码#include &lt...

2017-07-21 01:13:00 278

转载 「POJ - 1003」Hangover

BUPT 2017 summer training (16) #2C题意n个卡片可以支撑住的长度是1/2+1/3+1/4+..+1/(n+1)个卡片长度。现在给出需要达到总长度,求最小的n。题解模拟加起来,直到长度不小于给定的总长度。我也写了个java代码^_^代码import java.util.*;import java.io.*;public class Mai...

2017-07-20 10:31:00 90

转载 「CodeForces - 50C 」Happy Farm 5 (几何)

BUPT 2017 summer training (16) #2B题意有一些二维直角坐标系上的整数坐标的点,找出严格包含这些点的只能八个方向走出来步数最少的路径,输出最少步数。题解这题要求严格包含的路径。实际上答案就是不严格包含的+4步。也可以加上每个点上下左右的四个点再跑凸包。最少步数就是凸包上相邻两点的\(max(\Delta x,\Delta y)\)之和。其实这题...

2017-07-19 22:59:00 127

转载 「POJ - 2318」TOYS (叉乘)

BUPT 2017 summer training (16) #2 A题意有一个玩具盒,被n个隔板分开成左到u右n+1个区域,然后给每个玩具的坐标,求每个区域有几个玩具。题解依次用叉积判断玩具在每个隔板左边还是右边。知识设\(\vec a=(x_1,y_1),\vec b=(x_2,y_2)\)。点乘:内积(数量积),\(\vec{a}\cdot\vec{b}=|a||b...

2017-07-19 19:47:00 99

转载 「CodeForces - 598B」Queries on a String

BUPT 2017 summer training (for 16) #1I题意字符串s(1 ≤ |s| ≤ 10 000),有m(1 ≤ m ≤ 300)次操作,每次给l,r,k,代表将r位置插入l位置前,执行k(1 ≤ k ≤ 1 000 000)次。输出最后的s。题解等价与将字符串的[l...r-k]和[r-k+1...r]两部分调换一下。k对r-l取模一下。然后模拟。...

2017-07-19 12:40:00 97

转载 「CodeForces - 717E」Paint it really, really dark gray (dfs)

BUPT 2017 summer training (for 16) #1H题意每个节点是黑色or白色,经过一个节点就会改变它的颜色,一开始在1节点。求一条路径使得所有点变成黑色。题解dfs时每个节点的孩子处理完,这时候如果颜色是白色,那么再去一下父亲节点再回来,就变成黑色了。如果是1号点,那就去它的孩子节点,再回来,再去它孩子节点。代码#include <cstdi...

2017-07-19 00:50:00 116

转载 【CodeForces 717C】Potions Homework

BUPT 2017 summer training (for 16) #1G题意每个人有一个懒惰值,每个任务有个难度,一开始每个人的任务和懒惰值都为\(a_i\),完成任务时间是懒惰值乘以难度,现在重新分配任务,问花费的时间最小是多少。结果模10007。题解显而易见,最好的分配方法是最懒的人做最简单的任务。。。然后就排序求和。注意用long long。代码#include ...

2017-07-18 20:33:00 121

转载 【CodeForces 730H】Car Repair Shop

BUPT 2017 summer training (for 16) #1F题意依次有n (1 ≤ n ≤ 200) 个车要修理,每个车希望在s[i]时刻开始修理,时长d[i],如果s[i]后面没有那么多空的时间,那么就选最小的可行的起点。\(s_i, d_i (1 ≤ s_i ≤ 10^9, 1 ≤ d_i ≤ 5·10^6)\)题解模拟,先看从s[i]时刻开始修理,和之前i-...

2017-07-18 20:02:00 96

转载 【CodeForces 730H】Delete Them

BUPT 2017 summer training (for 16) #1E题意找到匹配要删除的文件名们但不匹配其它文件名们的表达式。其中?匹配所有字符,其它字符匹配本身。题解如果某个位置出现两个及以上的不同字符,那就要用?。再看是否会匹配其它文件名。注意长度不同一定不匹配。代码#include <cstdio>char w[101][101];bool d[...

2017-07-18 19:53:00 62

转载 【Gym 100947I】What a Mess

BUPT 2017 summer training (for 16) #1D题意找到n个数里面有多少对具有倍数关系。\(1 ≤ n ≤ 10^4,2 ≤ a_i ≤ 10^6\)题解枚举一个数,和它的倍数。代码#include <cstdio>#include <cstring>int n,t,b[1000001];int main(){ ...

2017-07-18 19:48:00 81

转载 【Gym - 100947G】Square Spiral Search

BUPT 2017 summer training (for 16) #1C题意A new computer scientist is trying to develop a new memory management system called "spiral memory management".The basic idea of this system is that it ...

2017-07-18 19:46:00 127

转载 【Gym 100971G】Repair

BUPT 2017 summer training (for 16) #1B题意Alex is repairing his country house. He has a rectangular metal sheet of size a × b. He has to cut two rectangular sheets of sizes \(a_1\) × $b_1 $and \(...

2017-07-18 19:35:00 97

转载 【AtCoder078D】Fennec VS. Snuke

AtCoder Regular Contest 078 D - Fennec VS. Snuke题意给一个树,1是白色,n是黑色,其它没有颜色。Fennec每次可以染白色点的直接邻居为白色。Snuke则染黑色点的邻居为黑色。谁先不能动就输了。问谁赢。题解先找出1到n的唯一路径path[1..len],然后Fennec可以依次取1到len/2的点及其不在路径上的孩子。剩下的就是Sn...

2017-07-16 18:01:00 133

转载 【Sichuan 2017D】Dynamic Graph

题意300个点的无环图,开始都是白色,每次改变某个节点的颜色(黑/白),问有多少对白点之间存在只有白点的路径。题解类似floyd,求出两点之间的路径条数。然后白到黑就删去对应路径,黑到白就增加对应路径。再扫一遍路径数大于0的白点对。代码#include <cstdio>#include <cstring>#define N 301int g[N][...

2017-07-15 16:30:00 127

转载 【AtCoder - 2300】Snuke Line(树状数组)

BUPT2017 wintertraining(15) #9A题意有n个纪念品,购买区间是\([l_i,r_i]\)。求每i(1~m)站停一次,可以买到多少纪念品。题解每隔d站停一次的列车,一定能买到购买区间的长度≥d的纪念品。长度比d小但包含了d的倍数的纪念品也可以买到。所以,如果按长度给纪念品排序,用树状数组维护长度小于当前d的购买区间,那么就可以很快求出每个停靠点(d的...

2017-07-15 01:27:00 150

转载 【HDU - 4349】Xiao Ming's Hope

BUPT2017 wintertraining(15) #8H题意求组合数C(n,i),i从0到n,里面有几个奇数。题解直接打表的话可能就直接发现规律了。规律是n的二进制里有几个1,答案就是2的几次方。证明:lucas定理有:C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p然后取p为2。所以展开后是C(0,0),C(0,1),C(1,0),C(1,1)的...

2017-07-13 15:54:00 80

转载 【HDU - 4348】To the moon(主席树在线区间更新)

BUPT2017 wintertraining(15) #8G题意给一个数组a,有n个数,m次操作。\(N, M ≤ 10^5, |A i| ≤ 10^9, 1 ≤ l ≤ r ≤ N, |d| ≤ 10^4\)操作有四种,C l r d:更新区间[l,r],值都加上d,并且时间前进1Q l r:查询[l,r]的区间和H l r t:查询t时刻的区间和B t:回到t时刻(一...

2017-07-13 14:16:00 109

转载 【HDU - 4345 】Permutation(DP)

BUPT2017 wintertraining(15) #8F题意1到n的排列,经过几次置换(也是一个排列)回到原来的排列,就是循环了。现在给n(<=1000),求循环周期的所有可能数。题解问题等价于几个正整数加起来等于n,求最小公倍数的可能数。因为1不影响最小公倍数,所以等价于求几个正整数加起来小于等于n,最小公倍数的可能数。最小公倍数与每个质因子在正整数里最大出现...

2017-07-11 23:47:00 63

转载 【HDU - 4344】Mark the Rope(大整数分解)

BUPT2017 wintertraining(15) #8E题意长度为n(\(n<2^{63}\))的绳子,每隔长度L(1<L<n)做一次标记,标记值就是L,L是n的约数。每轮标记都选一个L,且L之间两两互质。求L的最多种数K。以及标记之和S的最大值。题解对n进行分解质因数,K就是不同质因子的个数,S就是p^{a_i}之和。不过题目要求L<n,所以当...

2017-07-10 23:16:00 93

转载 【HDU 4343】Interval query(倍增)

BUPT2017 wintertraining(15) #8D题意给你x轴上的N个线段,M次查询,每次问你[l,r]区间里最多有多少个不相交的线段。(0<N, M<=100000)限时15000 MS题解如果不看限时,当作是1000MS的话= =,那么可以用倍增来做。先按右端点排序。可以去掉一下包含了其它区间的区间,可以优化一点点。用 f[i][j] 表示 i...

2017-07-07 23:15:00 109

转载 【HDU - 4342】History repeat itself(数学)

BUPT2017 wintertraining(15) #8C题意求第n(n<2^32)个非完全平方数m,以及\(\sum_{i=1}^m{\lfloor\sqrt i\rfloor}\)题解设1~m中有x个完全平方数(\(1^2,2^2,3^2,...,x^2\))。那么有\[\begin{cases}n+x=m\\x^2 < m\\(x+1)^2 \g...

2017-07-05 13:54:00 94

转载 【HDU - 4341】Gold miner(分组背包)

BUPT2017 wintertraining(15) #8B题意给出每个黄金的坐标、价值及耗时,同一方向的黄金只能依次取,求T时间内收获的最大值。题解同一方向,物品前缀和构成的组合,相当于是一个分组的物品。然后分组背包:for i:1~p个分组for j:T~1的时间(背包容量)for k:1~当前分组物品数if(j>=t[k])dp[j]=max(dp[j],...

2017-07-05 10:40:00 103

转载 【HDU - 4340】Capturing a country(树形DP)

BUPT2017 wintertraining(15) #8A题意n(<100)个城市组成的树。A攻击i城市需要a[i]代价,B需要b[i]。如果一个城市的邻居被A攻击了,那么A攻击它只要A[i]/2(整除)的代价,B同理。求攻击全部城市的最小代价。题解这题很容易想到树形dp。每个节点为根的子树,有可能是:A从根的上面攻击下来,A从根或下面攻击到根上面,B从根的上面...

2017-07-04 19:49:00 86

转载 【HDU - 4927】Series 1

BUPT2017 wintertraining(15) #5I题意输出序列A[1..n]的第n-1阶差分(一个整数)。题解观察可知答案就是\[\sum_{i=0}^{n-1} {(-1)^{i}C_n^{i} A_{n-i}}\]需要用大整数。代码Java代码import java.io.*;import java.math.*;import java.util...

2017-07-04 13:04:00 56

转载 【Gym - 100796C 】Minimax Tree

BUPT2017 wintertraining(15) #7FMinimax Tree题意给你一棵多叉树,非叶子节点中分配k个为子节点的min函数,剩下的是max函数。现在求根节点(1)的最大值和最小值。题解因为最大值和最小值求法对称,以求最小值为例。要让尽量小的上来,可以贪心选择一条路前面都是min不够了后面就用max。因为如果min上面有max,max换到下面不会更差。...

2017-07-04 00:50:00 204

转载 【HDU - 5845】Best Division(xor-trie、01字典树、dp)

BUPT2017 wintertraining(15) #7E题意把数组A划分为k个区间,每个区间不超过L长度,每一个区间异或和之和为S。现在求:S不超过X,区间个数的最大值。且A是这样给你的:A[1], P, Q。A[i]=(A[i-1]*P+Q)%M。M为\(2^{28}\)。题解容易想到dp, dp[i] :前 i 个数最多划分多少个区间。s[i]为前缀异或和。dp[i...

2017-07-03 17:38:00 159

空空如也

空空如也

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

TA关注的人

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