自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ONE MORE TRY

把该做的做好就好了!

  • 博客(58)
  • 问答 (2)
  • 收藏
  • 关注

原创 萌新在线模板--keyboarder_zsq

好像马上就要出去打铁了QAQ,所以是不是要做个模板带过去也玩一玩? 那就做吧。。。 标题就设为萌新模板吧。。。各种萌新讲解对吧。。。。图论拓扑排序最短路最小生成树二分匹配强连通Tarjan二分树状数组线段树

2017-03-30 14:02:16 1043

原创 HDU1488【分离链接法】

#include using namespace std;typedef long long LL;const int X=1e6+7;struct asd{ int next; int num; LL id;}q[X];int link[X];int tol;void init(){ tol=1; for(int i=0;i<X;i+

2017-03-31 22:00:02 548

原创 51nod 1672【贪心+优先队列】

嘿嘿

2017-03-31 14:20:33 583

原创 51nod 1354【DP】

(我一定是A了一题假DP)给定序列a[0],a[1],a[2],...,a[n-1] 和一个整数K时,有多少子序列所有元素乘起来恰好等于K。K思路:感觉 k 的 约数是突破口,首先个数 少。直接维护一个 到 i 的时候 各个约数 的 个数。(约数 类似 背包)。#includeusing namespace std;typedef long long LL;con

2017-03-29 23:15:59 441

原创 BZOJ 1858【线段树】

题意: 0 a b 把 [a, b] 区间内的所有数全变成0 1 a b 把 [a, b] 区间内的所有数全变成1 2 a b 把 [a,b] 区间内的所有数全部取反 3 a b 询问 [a, b] 区间内总共有多少个1 4 a b 询问 [a, b] 区间内最多有多少个连续的1 思路:首先 线段树 可以搞个标记 flag 是否都是 1(flag=1)/0(flag=-

2017-03-29 21:32:13 405

原创 BZOJ 1012【线段树】

题意:Q L 询问数列最后 L 个数中最大的数。A n 将 n + t ( t_init = 0 ), 然后插到最后去。思路:感觉动态地插入,很有问题。数组地长度会时常变化,但是可以先预处理就是有2e5个结点(最多)。然后就是插咯?它保证query 的时候 L 水题。#includeusing namespace std;typedef long long

2017-03-29 18:49:39 399

原创 BZOJ 3211【线段树】

题意:n个数,m个操作。1,L,R  询问[L , R] 的总和。2,L,R  将区间所有数都开根号。思路:区间和简单。主要就是一个 区间所有元素相同的标记Same ,但是这样是不是要求太高?sqrt 好像就算是1e9,也down的非常快到1了,且这里还没有区间加。so,只要考虑标记区间是否都是1/0就足够了。水题。#includeusing namesp

2017-03-28 22:35:45 339

原创 51nod 1154【DP】

区间DP大暴力吧?GG.dp[ i ] 为字符至 i 的最少数量。如果[Left , Right]是回文串,dp[Right] = min(dp[ Right ] , dp[Left-1] + 1);#includeusing namespace std;const int N=5e3+10;int dp[N];char a[N];int n;int ma

2017-03-28 19:37:11 385

原创 JAVA包学习笔记

包什么是包为了使类易于查找和使用,为了避免命名冲突和限定类的访问权限,可以将一组相关类与接口“包裹”在一起形成包。有可能同名类的存在而导致命名冲突,而位于不同包中的类及时同名也不会冲突。缺省包(来自百度)1、缺省包就是默认包,也是没有包的意思。2、就是为了把java文件归类到一个文件夹下,默认的是src文件夹3、如果做项目建议用自己的包,把 JavaBean act

2017-03-28 10:56:59 363

原创 ZOJ 2849【瞎暴力的搜索】

思路:靠评测机抖一抖的思路:拿个队列维护一下符合类型的可以搜索(指四周还存在可以遍历的点)的点。然后暴力搜索,所以问题来了,这个暴力搜索会大大地重复遍历次数。这个思路的代码见第一份。那么问题就很明显了,为了减少遍历次数,所以我们BFS,每次仅遍历附近四个,然后拿优先队列维护天数小的,类型小的,这样复杂度仅仅是多了个log,减少了很多重复遍历次数。第一份代码:#include

2017-03-27 23:06:32 156

原创 51nod 1405【DFS】

思路:对于结点 u 的子节点 v, 如果已经一直到结点 u 的答案ans[u],那么转移到对于结点 v,num[v] 为 v为根的树的结点个数,那么对于结点v的答案相对于结点u的答案来说,ans[v]=-num[v]*edge[u,v]+(n-num[v])*edge[u,v];//#include#include#include#includeusing name

2017-03-26 22:39:40 396

原创 PAT L3-010【完全二叉树】

静态建树判一下1-n是不是为空就好了,如果有空的  就说明不是complete binary tree(和线段树建树差不多啊)Left=2*root;Right=2*root+1#include using namespace std;typedef long long LL;struct BT{ int Left; int Right; int w;}q[200

2017-03-24 15:30:46 488

原创 PAT L2-014【二分】

思路:最后发现对当前列车比我大的编号的栈有没有就好了,所以开个vector存一下,然后二分一下vector找一下第一个比我大的数就好了#include using namespace std;typedef long long LL;const int N=1e5+10;int n,a[N];vectorq;int main(){ scanf("%d",&n); for

2017-03-24 14:43:29 287

原创 CodeForces 137C【贪心+优先队列】

这种区间的贪心好像都出“烂”了?不过还是想写一下。。。先按照区间左端点排序一下,然后搞个优先队列维护当前最小的右端点。#include using namespace std;typedef long long LL;const int N=1e5+10; struct asd{ int x,y;}q[N];bool cmp(asd a, asd b){ if(a

2017-03-23 00:09:11 527

原创 CodeForces 131D【图特性+BFS】

题意:只有一个环,然后环都是0(环缩点相当于树的根),然后其余的输出到根的距离思路:可以从度为1的 开始搜 把那些分支全标记掉,然后再取没有标记掉的,BFS一下搞出距离。具体这个标记:倒着搜这样肯定没有多对一,标记掉度等于2的那些点就好了,度>2的要减减,而且环里的点的度不可能搜到度 = 2 因为环=点的度为2,他又连出一条边 度=3。后话:这种n个点 n条边/n-1条

2017-03-23 00:02:09 574

原创 CodeForces 125D【鸽巢原理】

yep.

2017-03-22 00:05:27 716 2

原创 PAT1060【大模拟啊】

怎么麻烦怎么来了???提供几个案例:5 0.00001 0.000010 0.0 0.02221 0.001 0.20002 005.06 0.2301 00.020 0贴份代码跑。。#include using namespace std;typedef long long LL;int n,m;string s1,s2;string a,b

2017-03-22 00:02:52 420

原创 CodeForces 124C【连通块】

思路:a素数->b合数c素数->b合数a,c属于一类so,预处理相同的,并且计数。1000怎么搞都无压力;我这里也预处理了字母个数,从集合大的枚举下来,每次拿字母个数最多的去匹配。#include using namespace std;typedef long long LL;const int N=1e3+10;bool isprime(int x){

2017-03-21 22:54:48 639

原创 PAT 1071【STL string应用】

1.单case很多清空没必要的2.string+ char 最好用pushback3.string +string就直接+#include using namespace std;typedef long long LL;const int N=2e6+10;map mp;string temp,res;int num;string s;int

2017-03-21 22:50:07 609

原创 CodeForces 116C 【BFS】

思路:求所有树的最大高度?注意:所有树从树根开始?#include using namespace std;typedef long long LL;struct asd{ int to; int next;}e[2500];int head[2500],tol;int pre[2500];int n;void add(int u,int v){ e[

2017-03-20 22:38:02 468

原创 CodeForces 116B【二分匹配】

思路:暴力。。我不会呀。。YY一个二分匹配嘛,然后数组开小了。GG for an hour.#include using namespace std;typedef long long LL;int cy[110];int cx[110];int n,m;char ma[15][15];int g[15][15];int mma[110][110];int dx[

2017-03-20 22:29:16 466

原创 CodeForces 118C 【模拟】

思路:枚举0-9之间的数,然后判断。然后一鼓作气打成了大模拟。。。。我日啊。。。心疼自己。#include using namespace std;typedef long long LL;const int N=1e4+10;int n,k;char s[N],ss[N];int num[19];int cnt[19],len;int all[N][15];

2017-03-20 22:27:07 172

原创 二分图中的匹配

问题一(未完):考虑n行m列的棋盘,其某些方格禁止落子。能够被放到棋盘上的非攻击型车的最多个数。考虑4行5列的棋盘,其落子位置如下表: y1y2y3y4y5x1 *   x2  * *x3* * *x4*    

2017-03-20 00:56:52 227

原创 CodeForces 110C 【构造】

思路:7越多越好,然后从7最多个数枚举过去,判断一下剩下的能不能用4解决就好了;#include using namespace std;typedef long long LL;int main(){ int m,n; scanf("%d",&n); int q=n/7; for(int i=q;i>=0;i--) {

2017-03-20 00:09:18 384

原创 CodeForces 114B 【STL应用】

yep.

2017-03-20 00:07:21 87

原创 CodeForces 106C 【DP】

题意:n g dough  m种商品?每种有ai stuffing, 拿bi stuffing + ci dough -> di tugriksrest c0 dough -> d0 tugriks求最大的tugriks思路:dough是爸爸,dp[i] 代表 在花费 i 情况下 前 j 个 商品的最大。枚举在 k g dough 下的各种收入情况,取最大;大致

2017-03-20 00:03:49 412

原创 PAT 1043【BST与二叉树】

nice.

2017-03-19 10:22:49 508

原创 PTA 1045【DP】

思路:DP[ i ] 代表以值 i 结尾的当前最长长度。每次枚举序列数组,dp[ i ] = max( dp[ i ] ,dp[ a[j] ] + 1);#include using namespace std;typedef long long LL;const int N=2e2+10;int n,m;int a[N],id[N];int dp[N],x;int m

2017-03-19 09:37:59 365

原创 51nod1419 【数学】

思路:n考虑n>3:我们可以轻松证明n,n-1这两个数互质:设gcd(n,n-1)=g,n=g*k1,n-1=g*k2;n-(n-1)=g(k1-k2)=1;所以 g=1.当n,n-2互质就更好了,n*(n-1)*(n-2)最大呀。设gcd(n,n-2)=g,n=g*k1,n-2=g*k2;n-(n-2)=g(k1-k2)=2; 得g很好发现,g要么是1

2017-03-18 22:20:34 404

原创 Codeforces 92C【二分】

yep.

2017-03-18 11:30:32 399

原创 CodeForces 104C【树特性】

题意:判断这副图是否满足根是一个环的缩点,然后其余点都是一个点,满足树特性。思路:一开始就像无向图缩点乱搞,然后实在太烦搞不下去。。。。一副图是满足结点和边数量相等,且连通,则一定有一个环。so...实际代码只有判连通= =#include using namespace std;typedef long long LL;const int N=1e2+10;int

2017-03-17 23:02:58 369

原创 Codeforces Beta Round #71 C【KMP+DP】

yep.

2017-03-16 21:27:56 456

原创 PAT1089【归并排序】

这题略。。。恶心。。他说归并排序依次是相邻有序两块合并,而一向打惯了递归???#include using namespace std;typedef long long LL;const int N=1e2+10;int b[N];void Merge(int a[], int temp[], int Left, int Mid, int Right){ int

2017-03-15 00:14:31 395

原创 PAT L2-006【二叉树中序后序构造树】

#includeusing namespace std;typedef long long LL;struct BT{ int w; BT *L; BT *R;};BT* Creat(int *post,int *in,int n){ BT* p; for(int i=0;i<n;i++) { if(post[n-1]==in[i]) { p=(BT*)m

2017-03-13 23:13:09 344

原创 最小堆【总结附简易代码】

yes, very good.

2017-03-13 12:39:32 691

原创 PAT12-012【建最小堆】

卧槽。。没看清 值 还有负的。。PS: 注意他说是一个一个插入的,也就是插在完全二叉树的最末位置,然后向上更新。#includeusing namespace std;typedef long long LL;int a[1010];void BuildMinHeap(int n){ for(int i=1;i<=n;i++) { scanf("%d",&a[i]);

2017-03-13 00:44:47 368

原创 PAT1098【插入排序+堆排序】

very yes.

2017-03-12 16:55:20 441

原创 PAT 1087【二级最短路】

二级最短路+二级最短路,就是DP过程吧。代码稍微注释一些,毕竟贴代码不好。。#includeusing namespace std;typedef long long LL;const int INF=0x3f3f3f3f;const int N=4e4+10;struct asd{ int cost; int to; int next;}e[N];int head[2

2017-03-11 11:13:34 518

原创 Codeforces570C 【简单标记】

题意:给定一个长为n的字符串(包含小写字母和’.’),有m次操作每次操作可以修改字符,并询问修改后有多少对相邻的’.’思路:标记。#includeusing namespace std;typedef long long LL;const int N=3e5+10;bool vis[N];char s[N];int n,m,len,ans,x;int main()

2017-03-10 17:59:49 408

原创 数据结构题

hzwer's blog音乐会的等待【单调栈】铁轨+卡片游戏【栈+队列】Codeforces570C【标记】

2017-03-10 17:58:30 117

空空如也

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

TA关注的人

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