HDU
ITKaven
ACMER
本科软件工程专业
硕士计算机技术专业
专注于WEB开发的烟酒僧
展开
-
2018 “百度之星”程序设计大赛 - 初赛(B)1001 1004 1006
1001 没有圈的图,不是树就是森林吧,所以一个点的度数最多是 n-1 具体看代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=200000+100;int du[maxn];int main(){ int T; scanf("%d...原创 2018-08-12 17:00:31 · 962 阅读 · 0 评论 -
2018"百度之星"程序设计大赛 - 资格赛 A B C E F
1001 代码:#include&amp;amp;amp;amp;lt;cstdio&amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;lt;cstring&amp;amp;amp;amp;gt;using namespace std;const int maxn=1000+10;char ch[maxn][20];int kaven[maxn];int M[1&a原创 2018-08-05 12:33:29 · 3863 阅读 · 0 评论 -
2017百度之星资格赛—1003度度熊与邪恶大魔王
2017百度之星资格赛—1003度度熊与邪恶大魔王原创 2017-08-07 00:11:48 · 4291 阅读 · 2 评论 -
HDU 5922 Minimum’s Revenge
题目传送门 代码:#include&amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;gt;using namespace std;typedef long long LL;int main(){ int T,C=0; scanf(&amp;amp;quot;%d&amp;amp;quot;,&amp;amp;amp;amp;T); while(T--原创 2018-08-23 00:02:57 · 901 阅读 · 0 评论 -
HDU 6435 Problem J. CSGO
题目传送门 代码:#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;typedef long long LL;const int maxn=100000+100;struct Node{ int s; int x[5];}a[maxn],b[maxn];LL ma[35],mb[35];int mai...原创 2018-08-22 23:45:46 · 1018 阅读 · 0 评论 -
HDU 6447 YJJ's Salesman
题目传送门 代码:#include<bits/stdc++.h>using namespace std;#define lson rt<<1,l,mid#define rson rt<<1|1,mid+1,r#define ls rt<<1#define rs rt<<1|1const int maxn=10000...原创 2018-08-26 22:05:36 · 1356 阅读 · 0 评论 -
HDU 6446 Tree and Permutation
题目传送门 代码:#include<bits/stdc++.h>using namespace std;typedef long long LL;const int maxn=100000+100;const LL mod=1e9+7;struct Edge{ int to,next,len;}edge[maxn<<1];int hea...原创 2018-08-26 15:03:57 · 1296 阅读 · 0 评论 -
HDU 6441 Find Integer
题目传送门 代码:#include<bits/stdc++.h>using namespace std;int main(){ int T; scanf("%d",&T); while(T--){ int n,a; scanf("%d%d",&n,&a); if(n==0...原创 2018-08-26 13:53:54 · 1590 阅读 · 0 评论 -
HDU 6440 Dream
题目传送门 代码:#include<bits/stdc++.h>using namespace std;int main(){ int T; scanf("%d",&T); while(T--){ int p; scanf("%d",&p); for(int i=1;i<=...原创 2018-08-26 13:24:31 · 1690 阅读 · 0 评论 -
HDU 6438 Buy and Resell
题目传送门 可反悔的贪心#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;typedef pair&amp;lt;long long,int&amp;gt; P;int main(){ priority_queue&amp;lt;P,vector&amp;lt;P&amp;gt;,greater&原创 2018-08-26 11:12:48 · 911 阅读 · 0 评论 -
数位DP练习
HDU 4734 题目传送门代码:#include&amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;gt;using namespace std;const int maxn=10000+100;int dp[20][maxn],bit[20];int all; int DFS(int pos,int statu,bool limit){ if(pos==-1) re...原创 2018-08-16 16:26:16 · 896 阅读 · 0 评论 -
2018 “百度之星”程序设计大赛 - 初赛(A): 度度熊学队列
直接用STL 的 list 就可以,比赛以为不行,自己手动模拟 list 去了。。。 代码:#include<bits/stdc++.h>using namespace std;const int maxn=150000+100;list<int>List[maxn];list<int>RevList[maxn];int main(){...原创 2018-08-11 21:00:32 · 1185 阅读 · 0 评论 -
HDU 6433 Problem H. Pow
题目传送门 java:import java.math.BigInteger;import java.util.*;public class Main { public static void main(String args[]){ Scanner cin = new Scanner(System.in); int T = cin.n...原创 2018-08-23 00:33:14 · 1248 阅读 · 0 评论 -
树状DP练习
HDU 1520 题目传送门代码:#include&lt;bits/stdc++.h&gt;using namespace std;const int maxn=6000+100;struct Edge{ int to,next;}edge[maxn];int head[maxn],tot;int dp[maxn][2],in[maxn];void D...原创 2018-08-17 16:39:43 · 956 阅读 · 0 评论 -
HDU 6434 Problem I. Count
题目传送门 代码:#include<bits/stdc++.h>using namespace std;typedef long long LL;const int maxn=2e7+100;int prime[maxn],e[maxn],tot;bool isprime[maxn];LL ans[maxn];void init(){ for(i...原创 2018-08-23 10:17:13 · 1137 阅读 · 0 评论 -
HDU 6286 2018
题目传送门 代码:#include<bits/stdc++.h>using namespace std;typedef long long LL;int main(){ int l1,r1,l2,r2; while(scanf("%d%d%d%d",&l1,&r1,&l2,&r2)==4){ LL ...原创 2018-08-25 10:26:57 · 947 阅读 · 0 评论 -
HDU 6108 小C的倍数问题
题目传送门 代码:#include<bits/stdc++.h>using namespace std;int main(){ int T; scanf("%d",&T); while(T--){ int n; int cnt=0; scanf("%d",&n); ...原创 2018-08-25 09:37:36 · 1096 阅读 · 0 评论 -
HDU 6410 序列期望
题目传送门 代码:#include<bits/stdc++.h>using namespace std;#define max(a,b) (a>b?a:b)#define min(a,b) (a<b?a:b)typedef long long LL;const int mod=1e9+7;int l[110],r[110];LL mypow(LL...原创 2018-08-21 14:48:10 · 1051 阅读 · 0 评论 -
HDU 6409 没有兄弟的舞会
题目传送门 代码:#include&lt;bits/stdc++.h&gt;using namespace std;#define max(a,b) a&gt;b?a:b#define min(a,b) a&lt;b?a:btypedef long long LL;const int maxn=100000+100;struct Edge{ int to,nex...原创 2018-08-24 09:23:51 · 1188 阅读 · 0 评论 -
HDU 6411 带劲的and和
题目传送门 代码:#include<bits/stdc++.h>using namespace std;typedef long long LL;const int maxn=100000+100;const int mod=1e9+7;int fa[maxn];int ans[maxn];int cnt[50];vector<int>G[ma...原创 2018-08-21 10:07:23 · 1134 阅读 · 0 评论 -
HDU 2066 一个人的旅行(最短路)
题目传送门 代码:#include<bits/stdc++.h>using namespace std;#define min(a,b) (a<b?a:b)#define pqg(a) priority_queue<a,vector<a>,greater<a> > #define MEM(a,b,start,end) for...原创 2018-08-23 22:18:46 · 922 阅读 · 0 评论 -
HDU 5927 Auxiliary Set
题目传送门 代码:#include<bits/stdc++.h>using namespace std;#define MEM(a,b,start,end) for(int ii=start;ii<=end;ii++) a[ii]=b #define AddEdge1(u,v) edge[tot].to=v,edge[tot].next=head[u],head...原创 2018-08-23 15:16:19 · 891 阅读 · 0 评论 -
HDU 6025 Coprime Sequence
题目传送门 代码:#include<bits/stdc++.h>using namespace std;const int maxn=100000+100;int ans[maxn],pre[maxn],nex[maxn];int gcd(int a,int b){ return !b?a:gcd(b,a%b);}int main(){ ...原创 2018-08-23 11:55:51 · 894 阅读 · 0 评论 -
HDU 5969 最大的位或
题目传送门 代码:#include<bits/stdc++.h>using namespace std;typedef long long LL;int main(){ int T; scanf("%d",&T); while(T--){ LL l,r; scanf("%lld%lld",&...原创 2018-08-23 11:13:27 · 868 阅读 · 0 评论 -
HDU 6333 2018 Multi-University Training Contest 4 :Problem B. Harvest of Apples
莫队很简单 只要找到递推式就好办,递推式:T(n+1,m)=2*T(n,m)-C(n,m) T(n,m)=C(n,0)+C(n,1)+C(n,2)+…+C(n,m) 再根据C(n+1,m)=C(n,m)+C(n,m-1)可得到递推式 代码:#include&lt;cstdio&gt;#include&lt;cmath&gt;#include&lt;algorithm&gt;...原创 2018-08-02 09:41:25 · 902 阅读 · 0 评论 -
HDU 1392-Surround the Trees
题目传送门 今天突然想学习一下凸包,没想到还挺简单的 这是一道凸包模板题目 代码:#include&lt;cstdio&gt;#include&lt;cmath&gt;#include&lt;algorithm&gt;using namespace std;typedef long long ll;const int maxn=10000+100;const int INF...原创 2018-08-14 11:13:52 · 889 阅读 · 0 评论 -
HDU 1542:Atlantis(线段树+扫描线+离散化)
线段树+扫描线+离散化模板题目 第一次做这种类型的题目,以前以为比较难,就没敢碰它,现在学起来感觉还挺简单的,对于我来说,这种离散化思想要稍微难理解一点,其他的部分挺简单的 又学到了新东西!!!参考博客:线段树 + 扫描线加深详解详细请看代码:#include<cstdio>#include<algorithm>using namespace std...原创 2018-07-25 10:57:18 · 1115 阅读 · 0 评论 -
2018 Multi-University Training Contest 1 :Distinct Values
debug好难受啊,这个题竟然用了我小半天的时间 主要在细节问题上容易出错,这种贪心思路是很好想的详细看代码吧,容易出错的地方我加了注释#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;queue&gt;#include&lt;algorithm&gt;using namespace std;co原创 2018-07-24 15:22:11 · 867 阅读 · 0 评论 -
2018 Multi-University Training Contest 1 : Maximum Multiple
因为 x|n ,y|n ,z|n 我们假设存在 n%a=n%b=n%c=0 使得x=n/a , y=n/b , z=n/c 并且n/a + n/b + n/c = n因为x,y,z的取值是无序的,所以我们可以设a<=b<=c,即x>=y>=z 我们枚举 a 的所有取值情况: a=2 (a最小为2),所以 n/b+n/c=...原创 2018-07-24 09:43:12 · 3322 阅读 · 0 评论 -
HDU 2087 :剪花布条
很简单的KMP题#include<cstdio>#include<cstring>using namespace std;const int maxn=1000+100;char ch[maxn],ph[maxn];int fail[maxn];int n,m;inline void getFail(){ fail[0]=fail[1]...原创 2018-07-23 22:40:23 · 1150 阅读 · 0 评论 -
HDU 1686 :Oulipo
KMP题 不过这次是求单词在文本中出现的次数 一种很容易想到的方法:当单词与文本匹配成功后,文本退回到与单词匹配成功的第一个字符的后一个字符,单词退回到第一个字符,再重新进行匹配,这样显然会超时其实单词与文本匹配成功后,文本并不需要退回,我们可以这样认为: 当单词与文本匹配成功后,我们假设单词位置m上存在字符(其实是不存在的,因为单词字符的位置范围 [0,m-1]),那么此...原创 2018-07-23 22:27:54 · 940 阅读 · 0 评论 -
HDU 1711 : Number Sequence
基础KMP题#include<cstdio>using namespace std;const int maxn=10000+100;int ch[maxn*100],ph[maxn];int fail[maxn];int n,m;inline void getFail(){ fail[0]=fail[1]=0; for(int i=1;i<...原创 2018-07-23 20:41:53 · 962 阅读 · 0 评论 -
HDU 2222 : Keywords Search
学习了字典树之后,来学一下AC自动机,其实挺简单的,但是很强大 这是一道AC自动机模板题 AC自动机学习博客:ac自动机最详细的讲解,让你一次学会ac自动机。我的代码:#include<cstdio>#include<cstring>using namespace std;const int maxn=500000+100;int trie[maxn...原创 2018-07-23 16:20:47 · 1110 阅读 · 0 评论 -
HDU 1671 : Phone List
字典树问题 插入每个字符串前,先判断前面某个字符串是不是该字符串的前缀,或者该字符串是不是前面某个字符串的前缀 详细请看代码:#include<cstdio>#include<cstring>using namespace std;const int maxn=100000+100;int trie[maxn][10],tot;bool vis[max...原创 2018-07-23 11:26:36 · 942 阅读 · 0 评论 -
HDU 1251:统计难题
经典字典树题 就是输入不太友好,因为我平时不喜欢用 gets() 我一般用 scanf(“%[^\n]”,ch) 来代替 gets(ch) ,ch 是 char* 类型的,这里利用了正则表达式的性质,让 scanf() 达到了gets()的效果,也保留了 scanf() 的优点 如果有大佬可以不用gets()函数的,请留言告知,万分感谢!我的代码:#include<cstdio...原创 2018-07-23 10:03:00 · 3397 阅读 · 0 评论 -
HDU 6213-Chinese Zodiac
题目传送门Chinese Zodiac Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 495 Accepted Submission(s): 340Problem Description The Chinese Zodiac,原创 2017-10-18 18:31:14 · 3474 阅读 · 0 评论 -
HDU 6291:对称数
做这个题做的我心态爆炸,昨天打第一场牛客网暑期ACM多校训练赛之前就在做这个题,一直tle,不知道为什么。。。搞的我打比赛的状态都不好了(掩盖一下我菜的事实) 今天准备再进行优化一下,看能不能过 把用vector存图改成数组式 加输入输出优化 然而还是tle,不可能啊,网上博客不也是这样吗,只不过LCA是不是离线和在线的问题,但不至于在线就tle吧,我又对比了其他博客的代码,思想差不多,应...原创 2018-07-20 11:30:30 · 3637 阅读 · 0 评论 -
2018 Multi-University Training Contest 2 :Swaps and Inversions
一看题目就知道是逆序数问题,利用归并排序的方法求逆序数 再基于贪心思想,逆序数*min(x,y)就是答案详细请看代码:#include&lt;cstdio&gt;#include&lt;cstring&gt;using namespace std;typedef long long ll;const int maxn=100000+100;int ans[maxn];in...原创 2018-07-25 19:21:34 · 940 阅读 · 0 评论 -
HDU 6315 -2018 Multi-University Training Contest 2:Naive Operations
一开始做这个题目的时候,一直想不出来,怎么用线段树来进行维护信息 看了大佬们的代码后,终于知道怎么弄了 好菜啊我 很高兴,又学习了一种线段树的新姿势首先线段树结构体中维护这几个信息: 结点区间中a的最大值 - maxa 结点区间中b的最小值 - minb 结点区间的延迟更新标记 - addv 结点区间的值 - ...原创 2018-07-26 00:43:46 · 1140 阅读 · 0 评论 -
HDU 1695:GCD(莫比乌斯反演)
给你 a , b , c , d , k 五个值 (题目说明了 你可以认为 a=c=1) ,所以 x 属于 [1,b] ,y属于[1,d] 让你求有多少对这样的 (x,y)满足gcd(x,y)==k。首先 ,这道题可以进行简化,因为 gcd(x,y)=k, 那么,很显然 gcd(x / k,y / k)是等于 1 的。那么,此时问题就可以转化为: x 属于 [1,b / k] ,y属于[...原创 2018-07-27 14:50:54 · 1221 阅读 · 0 评论