比赛
文章平均质量分 57
wwt9b15bs
这个作者很懒,什么都没留下…
展开
-
【题解】sdoj2597[2018.8.10集训]A.细胞分裂 费马小定理降幂+快速幂取模
题目链接问题描述小 A 养了一大坨细胞。 最初小 A 只有 1 个细胞。 每秒, 小 A 的每个细胞都会分裂成 2 个细胞。 已知: 现在离“最初”已经过去了 x 秒, 那么现在的细胞数当然是可以计算的。 小 A 想知道的当然不是当前的细胞数。 小 A 知道他养的细胞的习性: 每 y 个细胞 会聚成一团。 经常会有剩下的细胞, 那么我们称这些细胞是孤独的。 小 A 想知道的就是孤...原创 2018-08-10 15:28:37 · 210 阅读 · 0 评论 -
【题解】sdoj3735函数(2018-08-07集训T1)简单数学知识
问题描述对于一个整数,定义 f(x)为他的每个数位的阶乘的乘积。例如 f(135)=1! * 3! * 5! = 720。给出一个数 a(可以包含前缀零), a 满足他的至少一个数位大于 1。我们要求出最 大 的整数 x,其中 x 不含 0 或 1,并且满足 f(a) = f(x)。输入第一行一个整数 n,表示 a 的长度。 接下来一个整数 a。输出一行一个整数 x 表示答...原创 2018-08-09 19:34:30 · 232 阅读 · 0 评论 -
【题解】sdoj3738[2018.8.8集训]A.海星突击队 构造
问题描述海星突击队在一次执行任务中,有 n 个人在敌占区被围困,他们最后在一个隐蔽地 方安营扎寨,等待友军支援。 从安全角度出发,每天晚上他们必须安排人来值班,以防敌人发现袭击。他们的长 官决定每天安排至少 3 人值班才能保证基本安全。但是因为晚上值班过于无聊,值班的人 可能发生冲突,所以不能让任何 2 个人一起值班超过 3 次(不一定连续 3 次)。 请问突击队最多能度过多少天,并...原创 2018-08-09 14:41:04 · 215 阅读 · 0 评论 -
【题解】sdoj3739[2018.8.8集训]B.K-斐波那契矩阵快速幂+扩展欧几里得
【样例输入 】 5 5 【样例输出】 2 【样例解释】 f[0] = 2 f[1] = 2 f[2] = 4 f[3] = 6 mod 5 = 1 f[4] = 5 mod 5 = 0 f[5] = 1 30%的数据保证 n, P ≤ 1000 100%的数据保证 n, P ≤ 10^9比赛时不知道怎么做,枚举了30分。后来才知道用矩阵快速幂和扩展欧几里得(本蒟...原创 2018-08-09 14:23:20 · 188 阅读 · 0 评论 -
【题解】sdoj3749膜拜(2018-08-14集训T3) IDDFS
题目链接问题描述XXX 每天都被无数的人膜拜,已经被连续膜拜了 n 天,他发现每天来膜拜自己的人数 是一个递增的数列。第一天只有一个人来膜拜,从第二天开始的每一天来膜拜 XXX 的人数 都是之前某两天的和。现在 XXX 告诉我们今天有 m 个人来膜拜自己,让我们求使被膜拜天数 n 最小的数列。如果有多组解,任意输出一种即可。输入文件一行,只有一个整数 m输出文件...原创 2018-08-16 07:00:24 · 196 阅读 · 0 评论 -
【题解】poj1952(8月13校赛 DP专题)线性DP
题目链接 感觉水的不行,上来就写结果发现最长序列的个数没对,一脸茫然…… 思路摘抄自大佬题解 这题要求最长下降子序列的长度和个数,我们可以增加 数组maxlen[size](记录当前第1个点到第i个点之间的最长下降序列长度) 和maxnum[size](记录1~i之间的最长下降序列个数 ) ,首先对于最长下降序列属于DP基础题,只要对每一个a[i]求出符合要求(a[i] < a[j]...原创 2018-08-18 07:37:02 · 208 阅读 · 0 评论 -
【题解】洛谷P2024[NOI2001]食物链(同POJ1182)(8月7日校赛 并查集)并查集
思路参考了大佬题解图文并茂非常详细#include<cstdio>#define _rep(i,a,b) for(int i=(a);i<=(b);i++)const int N=5e4+10;int set[N*3];int n,k;int a,b,c;int cnt=0;int findset(int x){ return set[x]==x?...原创 2018-08-18 07:37:54 · 178 阅读 · 0 评论 -
【题解】uva1602(同sdoj3208)(2018-08-14集训T2)搜索+判重
UVA题目链接 sdoj题目链接 代码参考了大佬博客 比赛时想到了怎么判重,但是有些细节地方不好写,考场暴力居然打了50……#include<cstdio>#include<set>#include<algorithm>#define _rep(i,a,b) for(int i=(a);i<=(b);i++)#define _for(i,a原创 2018-08-16 07:00:01 · 179 阅读 · 0 评论 -
【题解】sdoj3727哥德巴赫矩阵(2018-08-06集训T1) 线性筛+前缀和
题目链接问题描述根据哥德巴赫猜想(每个不小于 6 的偶数都可以表示为两个奇素数之和),定义 哥德巴赫矩阵 A 如下:对于正整数对(i,j),若 i+j 为偶数且 i,j 均为奇素数,则 Ai,j = 1, 否则 Ai,j = 0。现在有若干询问(x1,y1,x2,y2),你需要回答下列式子的值 输入第一行一个整数 m 接下来 m 行,每行四个整数 x1 y1 x2 y2...原创 2018-08-12 09:50:30 · 216 阅读 · 0 评论 -
【题解】sdoj3728表格(2018-08-06集训T2)拓扑排序
题目链接问题描述给出一个表格, N 行 M 列,每个格子有一个整数,有些格子是空的。现在需要你 来做出一些调整,使得每行都是非降序的。这个调整只能是整列的移动。输入第一行两个正整数 N 和 M。 接下来 N 行,每行 M 个整数, -1 表示这个格子是空的,其他的整数都在 [0, 10^9]范围,表 示格子的数字。输出若无解,输出 -1; 否则输出任意一个解...原创 2018-08-12 10:26:12 · 285 阅读 · 0 评论 -
【题解】sdoj3729电影 状压DP(2018-08-06集训T3)
题目链接问题描述小石头喜欢看电影,选择有 N 部电影可供选择,每一部电影会在一天的不同时段播 放。他希望连续看 L 分钟的电影。因为电影院是他家开的,所以他可以在一部电影播放过 程中任何时间进入或退出,当然他不希望重复看一部电影,所以每部电影他最多看一次, 也不能在看一部电影的时候,换到另一个正在播放一样电影的放映厅。 请你帮助小石头让他重 0 到 L 连续不断的看电影,如果可...原创 2018-08-12 10:35:53 · 453 阅读 · 0 评论 -
【题解】sdoj3696tree(同bzoj2654)(2018-08-07集训T3)生成树问题+二分
题目描述给你一个无向带权连通图,每条边是黑色或白色。让你求一棵最小权的恰好有need条白色边的生成树。 题目保证有解。输入第一行V,E,need分别表示点数,边数和需要的白色边数。 接下来E行 每行s,t,c,col表示这边的端点(点从0开始标号),边权,颜色(0白色1黑色)输出一行表示所求生成树的边权和。样例输入2 2 1 0 1 1 1 0 1 2 0...原创 2018-08-12 11:46:46 · 250 阅读 · 0 评论 -
【题解】sdoj2605闲荡(2018-08-15集训T3) 拓扑排序+概率DP+异或
题目链接问题描述L 饭后无聊,便在 BugTown 里闲荡。 BugTown 共有 N 栋房屋和 M 条有向道路。每栋房屋都有一个非负整数 vi 作为标 识。 BugTown 有一个特性十分神奇:从任意一个房屋离开后沿着路走再也不会回到原 地。 L 想选一个房屋作为闲荡的起点,之后,他会随机选择一条当前位置能走的道路顺 其 走过去,如此反复直到没有能走的道路。 由于极度无...原创 2018-08-16 06:59:46 · 233 阅读 · 0 评论 -
【题解】sdoj3754 与7有关(2018-08-15集训T1)前缀和
题目链接题目描述给出一个长度为 n 的序列,找出一个区间和被 7 整除,要求这个区间长度最 长。输入格式第一个是数字 N 接下来 N 行是 N 个数字输出格式输出最大的长度, 如果不存在输出 0样例输入7 3 5 1 6 2 14 10样例输出5数据规模30%数据 N<=100 100%数据 N<=500...原创 2018-08-16 06:59:31 · 177 阅读 · 0 评论 -
【题解】sdoj3745第k大 二分(2018-08-13集训T1)
题目链接题目描述有两个正整数构成的序列A和B,它们都由N(1<=N<=10000)个元素组成,设定C=A*B,“*””代表乘积。在表达式c=a*b中,c属于系列C,a属于系列A,b属于系列B,A中的每个数都要乘以B中的每个数,每次的乘积c放在系列C中。 你的工作是寻找A,B两个系列互相乘以后生成C系列的n*n个数中第k大的数。即将乘法结束后得到的C系列中所有数从大到小排序...原创 2018-08-14 06:51:49 · 151 阅读 · 0 评论 -
【题解】洛谷P2573[SCOI2012](同sdoj3730)(2018-08-13集训T3)
题目链接(洛谷) 题目链接(sdoj) 没有想到重建图还有按照高度排序……光荣爆零 sdoj上测要加fread,不然会T一个点(这数据太强了)#include<cstdio>#include<cstring>#include<algorithm>#include&am原创 2018-08-14 06:52:38 · 203 阅读 · 0 评论 -
【题解】sdoj3746航班(2018-08-13集训T2)最短路
题目链接题目描述b国有 N 座城市,其中 1 号是这座国家的首都。 N 座城市之间有 M 趟双向航班。i 号点的转机次数定义为:从 1 号点到 i,最少需要转机几次。如果 1 根本无法到达 i,那么 i 点的转机次数是无穷大。 由于天气原因,有些航班会被取消。 一趟航班的取消是可容忍的,仅当这趟航班取消之后,2..N 每个点的转机次数不变或者只增加了 1。 现在 L想知道,哪些...原创 2018-08-14 06:52:09 · 223 阅读 · 0 评论 -
【题解】sdoj2594(2018-08-17集训T1)模拟
题目链接 反思一下自己的代码能力,比赛时打了140行的大模拟,还自信满满结果爆零了。标程足足少100行#include<cstdio>#include<algorithm>using namespace std;#define _rep(i,a,b) for(int i=(a);i<=(b);i++)typedef long long ll;con...原创 2018-08-21 07:08:46 · 166 阅读 · 0 评论 -
【题解】sdoj3759(2018-08-16集训T1)数学公式+逆元+快速幂
题目链接问题描述给出一个数字 n,表示有 1 到 n 的序列。 每次你可以选择一个区间 [L,R],并付出 R-L+1 的代价,每个区间只能选择一次,问你最多付出多少代 价。 最后答案太大, 输出 MOD 10^9+7 的结果输入格式数字 n输出格式答案样例输入 14样例输出 120样例输入 2100000样例输...原创 2018-08-17 07:19:58 · 175 阅读 · 0 评论 -
【题解】sdoj3760线性筛(2018-08-16集训T2)线性筛+埃拉托色尼筛法
题目链接题目描述XX 摆出了一个难题来考验 YYY。 众所周知,线性筛的一种伪代码如下 输入一个整数 n 申请一个布尔数组 b,初始值全为假 申请一个质数列表 c,初始为空 令 i 从 2 到 n 如果 b[i]为假,那么 c 在尾部增加 i 这个元素 令 j 从头至尾遍历 c 的元素 使 b[i*j]为真 如果 i 为 j 的倍数,那么跳出这层循环 缩进表示语句之间...原创 2018-08-17 07:19:26 · 240 阅读 · 0 评论 -
【题解】hdu5692(2018-07-28校赛 线段树入门2 D)线段树+dfs序
题目题目链接#pragma comment(linker, "/STACK:1024000000,1024000000")#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define lc o<&原创 2018-09-08 06:54:18 · 189 阅读 · 0 评论 -
【题解】hdu1698(2018-07-28校赛 线段树入门2 B)线段树区间修改
题目链接 线段树维护一段区间内钩子的颜色(材料)是否相同#include<cstdio>#define lc (o<<1)#define rc (o<<1|1)#define mid (l+r>>1)const int N=1e5+5;int s[N*4];//s为-1是杂色,s不为-1是纯色,可以直接出答案 v原创 2018-08-12 17:06:06 · 216 阅读 · 0 评论 -
【题解】hdu2795(2018-07-28校赛 线段树入门2 C)线段树
题目链接 线段树维护最长的空位长度,每次先比较左子节点再比较右子节点#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define lc (o<<1)#define rc (o<&l原创 2018-08-12 17:00:38 · 183 阅读 · 0 评论 -
【题解】poj3667(2018-07-28校赛 线段树入门2 E) 线段树
题目题目链接 思路参考了大佬题解#include<cstdio>#include<algorithm>using namespace std;#define lc o<<1#define rc o<<1|1const int N=5e4+10;int n,m;int mx[N<&原创 2018-09-09 07:21:39 · 275 阅读 · 0 评论 -
【题解】hdu1542(2018-07-29校赛 线段树-扫描线)线段树+离散化+扫描线
题目题目链接 参考了大佬博客,讲的很清楚。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define _rep(i,a,b) for(int i=(a);i<=(b);i++)#define _for(i,a,b) for(int i原创 2018-09-09 07:21:31 · 222 阅读 · 0 评论 -
【题解】hdu1166(2018-07-22校赛 字典树-树的重心-树状数组 C) 树状数组
题目链接 树状数组入门题//树状数组 #include<cstdio>#include<cstring>const int N=5e4+10;int c[N*2],n;char s[10];int lowbit(int x){ return x&(-x);}void add(int x,int v){ while(x&a原创 2018-09-07 07:14:42 · 110 阅读 · 0 评论 -
【题解】hdu1541(2018-07-23校赛 树的重心-字典树-tree dp入门-树状数组入门 F)树状数组
题目链接 树状数组入门#include<cstdio>#include<cstring>const int N=4e4;int sum[N],a[N],n;int lowbit(int x){ return x&(-x);}int query(int x){ int ans=0; while(x>0) {...原创 2018-09-07 07:14:36 · 135 阅读 · 0 评论 -
【题解】poj2182(2018-07-23校赛 树的重心-字典树-tree dp入门-树状数组入门 G)树状数组+二分
题目链接#include<cstdio>#include<cstring>const int N=1e4;int sum[N*2],a[N];int n;int lowbit(int x){ return x&(-x);}void update(int x)//树状数组维护尾端比前端小的个数 { while(x<=n)...原创 2018-09-07 07:14:49 · 195 阅读 · 0 评论 -
【题解】hdu4325(2018-07-24校赛树状数组 A) 树状数组+离散化+二分
题目链接 把时间排序后离散化再操作(又是手动去重手动二分查找)#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;int sum[N*2];int q[N];//询问 int n,m;int maxn;//实际时...原创 2018-09-07 07:15:03 · 156 阅读 · 0 评论 -
【题解】hdu4970(2018-07-24校赛 树状数组 B)树状数组
题目链接 树状数组区间修改区间查询#include<cstdio>#include<cstring>typedef long long ll;const int N=1e5+10;ll sum1[N*2],sum2[N*2],n;ll lowbit(ll x){ return x&(-x);}void add(ll x,ll v){...原创 2018-09-07 07:15:08 · 139 阅读 · 0 评论 -
【题解】hdu5975[2016ACM/ICPC亚洲区大连站-重现赛](2018-07-24校赛 树状数组 C)树状数组
题目链接 考察树状数组原理#include<cstdio>typedef long long ll;ll lowbit(ll x){ return x&(-x);}ll query(ll x){ ll ans=0,tmp=1; for(ll i=0;tmp<=x;i++) { ans+=(x/tmp-x/(...原创 2018-09-07 07:15:15 · 218 阅读 · 0 评论 -
【题解】hdu1556(2018-07-24校赛 树状数组D/2018-07-27校赛 线段树入门A)树状数组/线段树
题目链接 树状数组区间修改单点查询#include<cstdio>#include<cstring>const int N=1e5+10;int d[N],sum[N];int n;int lowbit(int x){ return x&(-x);}void add(int x,int val){ while(x<=...原创 2018-09-07 07:15:42 · 145 阅读 · 0 评论 -
【题解】洛谷P4851[非酋yyf的sif之旅]A.yyf hates ganhuodong 模拟
题目链接 很水一题,据说是贪心……个人感觉倒像个模拟 (我会告诉你我比赛时被卡了等号没有AC吗)#include<cstdio>int a,b,c,d,e,f,g,h,k,x,y;int pt,lp,exp;int main(){ //freopen("in.txt","r",stdin); scanf(&am原创 2018-09-03 06:15:53 · 212 阅读 · 0 评论 -
【题解】hdu1264(2018-07-29校赛 线段树扫描线 B)线段树+扫描线+离散化
题目题目链接#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;#define lc o<<1#define rc o<<1|1const int N=1e5+10;int hx[N<&a原创 2018-09-09 07:22:05 · 228 阅读 · 0 评论 -
【题解】hdu1754(2018-07-25校赛树状数组-最值-二分-二维 A)树状数组
题目链接 树状数组最值查询//树状数组求最大值 #include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=2e5+10;int a[N],c[2*N],n;int lowbit(int x){ return x&(原创 2018-09-07 07:16:03 · 198 阅读 · 0 评论 -
【题解】hdu2430(2018-07-25校赛树状数组-最值-二分-二维 B)单调队列
题目链接 (我一直以为自己以前没写过单调队列的题来着)话说这题是出到树状数组练习题里的,我却写了个单调队列……#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int N=1e6+5;struct ...原创 2018-09-08 06:53:32 · 262 阅读 · 0 评论 -
【题解】hdu1892(2018-07-25校赛 树状数组-最值-二分-二维 F)二维树状数组
题目链接 二维树状数组模板题#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;const int N=1e3+10;typedef long long ll;ll sum[N][N];原创 2018-09-08 06:53:37 · 151 阅读 · 0 评论 -
【题解】hdu2642(2018-07-25校赛 树状数组-最值-二分-二维G)二维树状数组
题目链接#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=1e3+10;int a[N][N],vis[N][N];inline int lowbit(int x){ return x&(-x);}void原创 2018-09-08 06:53:42 · 194 阅读 · 0 评论 -
【题解】hdu4417[2012 ACM/ICPC Asia Regional Hangzhou Online] (2018-07-28校赛 线段树入门2 A)主席树
题目题目链接#include<cstdio>#include<algorithm>using namespace std;const int N=5e6+10;int a[N],b[N],rt[N],ls[N],rs[N],sum[N];int t,sz,tot,ca,n,m;void build(int &o,int l,int r){...原创 2018-09-09 07:22:51 · 215 阅读 · 0 评论 -
【题解】hdu4027(2018-07-27校赛 线段树入门 B)线段树
题目题目链接#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>using namespace std;#define lc (o<<1)#define rc (o<&原创 2018-09-08 06:54:06 · 193 阅读 · 2 评论