- 博客(33)
- 资源 (1)
- 收藏
- 关注
原创 换个博客
不想在优快云上写了。。。准备转博客园,但是还没有弄起来一个好看的博客界面。。。。 现博客地址:http://www.cnblogs.com/sdfzhsz/
2018-05-06 11:09:17
240
原创 noip2009T4 靶形数独
靶形数独,一道搜索能做出来的题,数独相信大家都会,靶形数独就是给它加个权,然后搞一个和A*差不多的东西? 有几个剪枝:第一是如果现在的val加上剩余的格子弄最大的数,占最大的权都不如现在的ans,就属于根本扶不起来的,就return;还有就是在所有格子中找一个格子,让它可以填的情况最少,那么如果是这样需要枚举的次数就会减少。然后就水过了。。//Writer : Hsz %WJMZBMR %to...
2018-05-02 23:21:52
249
原创 不基于旋转的Treap(仅代码)
日常安利大佬博客. 然后我并不想写东西 正常代码:#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<queue>#include<ctime>#include<map>#include&
2018-05-01 00:15:37
177
原创 Treap[BZOJ3224]普通平衡树
写了发treap,比splay好写多了2333 有个dalao的博客。。。日常安利,代码写的很得数组党的心。。。 不算丧病的压行79行结束战斗,比splay动不动上百行友好多了。。。 我的代码和dalao的有一点不一样就是rotate的时候我的是把左旋和右旋写到一起,因为左右旋其实是对称的,写到一起就行了,就写一个数组t.ch[2]t.ch[2]t.ch[2]表示左右儿子。 还有,因为嫌弃...
2018-04-30 22:03:26
188
原创 「BZOJ2768」[JLOI2010] 冠军调查
Description一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段。随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门。新浪体育最近在吉林教育学院进行了一次大规模的调查,调查的内容就是关于切尔西能否在今年问鼎欧洲冠军。新浪体育的记者从各个院系中一共抽取了n位同学作为参与者,大家齐聚一堂,各抒己见。每一位参与者都将发言,阐述自己的看法。参与者的心里都有一个看法,比如FireDance...
2018-04-30 11:41:22
200
原创 [POJ2411]轮廓线状压
传送门 本题是有两种思路,从上到下考虑每一行,状压第iii行的状态,表示为f[i][S]f[i][S]f[i][S],转移的时候枚举可行解。 但这个明显不是老师讲的,复杂度O(n⋅4n)O(n⋅4n)O(n\cdot 4^n)。 另一个是轮廓线,按点修改,f[i][S]f[i][S]f[i][S]表示第i行轮廓线上的状态。刘汝佳的蓝书上就有详细的讲解。 引用dalao的博客.#in...
2018-04-29 23:47:34
206
原创 负环——spfa
判定负环,用spfa的方法。设一个cnt数组,cnt[x]记录1~x最短路径包含的点数(石映奇dalao说的),如果大于了n那么表示他有负环了。如果正常跑完spfa,则表示没有负环。算法取了个巧,就是把负边的起点先加进来。#include<cstdio>#include<iostream>#include<set>#include<queue...
2018-04-26 18:26:24
1028
原创 二分答案——跳石头
昨天月考爆炸。。。说好的考dp,考了一道二分答案,想了一个小时的单调队列优化没想出来,第二题写了个爆搜就扔那儿了。。。全场最菜或许就是我了吧。。。 所以复习一波二分答案。 一道经典题,跳石(严)头(石)(我亲爱的儿子严石),二分答案就是用二分的方法枚举答案,不断缩小范围,检验是否正确,就和数学书上求函数零点的思路好像啊。。。然后时间复杂度降成log。#include<iostream...
2018-04-23 00:03:03
448
原创 骑士共存问题
网格中的网络流问题。在网格中的问题很容易就想到黑白染色。将棋盘黑白染色,把可用的黑格和能攻击到的可用的白格连起来,转化为二分图最大独立集问题,最大流搞一波。#include<iostream>#include<cstdio>#include<queue>#include<cstring>using namespace std;const...
2018-04-21 21:36:18
211
原创 ZJOI2010 数字计数
神奇的数位dp。主要思路就是一个试填法。不做参考,就是存一下代码。 传送门#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<queue>#include<map>#include<set>#inc
2018-04-20 12:04:25
293
原创 试题库问题
网络流24题里面的,这题应该不算难,建图比较简单,就是把源点和类型连一条流量为需求题的边,把类型和对应的题连一条流量为1的边,把题和汇点连一条流量为1 的边,保证每道题只用一次。然后找类型和题之间满流的边,表示这题在里面。#include<iostream>#include<cstdio>#include<queue>#include<cstr...
2018-04-19 19:00:31
147
转载 乘法逆元
%sdfzspli%sdfzspli\%sdfzspli%sdfzspli%sdfzspli\%sdfzspli%sdfzspli%sdfzspli\%sdfzsplispli男神!spli男神!spli男神!乘法逆元定义若ax≡1modpax≡1modpax\equiv1 \mod p,则称xxx是aaa在modpmodp\mod p意义下的逆元,记为x≡a−1mod...
2018-04-14 08:54:28
137
原创 SXOI2018爆炸记
Day0 去五中机房试机,和czq巨神坐在一起,进行了毫无意义的试机。对面坐的几个河南的oier,来山西考试我也不知道为什么他们要来山西 然后去和五中某化竞dalao探讨了oi与化竞结合对吃鸡排名的影响。然后全局拿着一把十字弩不知所措最后苟进前十 Day1 一大早起来到五中门口,冻的瑟瑟发抖。。。然后进场考试。t1一看:状压dp!我会做!然后就不知道怎么写了。。。下午听同学说好象是轮廓线状...
2018-04-07 20:42:08
334
原创 KMP算法
最近复习了一下集训学的kmp算法。 kmp算法可以将字符串匹配的时间复杂度由O(n2)O(n2)O(n^2)降低到O(nlogn)O(nlogn)O(nlog_n),还有各种神奇的用途。 对于求一个串是否是另一个串的子串,可以先求出一个数组next[i],表示1到i中前缀等于后缀的长度。 然后kmp算法就是充分利用之前已知的数据,如果第i-1位的next数组是next[i−1]next[i−...
2018-03-15 23:57:43
131
原创 数字三角形W(codevs)
数字三角形W( codevs 上的):要求走到最后和mod 100 最大。在mod 100 这个条件下,刚刚的状态就没有了最优子结构。不能用简单的数字三角形求法来做,这很显然。所以我们可以加一维来完成这个问题。定义f (i,j,k)表示走到(i,j)位置时,能否达到(i,j)使其%100=k状态转移方程就是f(i,j,k)=f(i+1,j,(k-a(i,j)+100)%...
2018-02-24 13:16:38
534
原创 LCS——n方的时间复杂度
为什么写n方的呢 因为我刚学dp。。。 先附代码,困了先睡了(高烧难退啊。。。) 然后这个数据大概只能完成1000的。。。(不会nlogn的蒟蒻)//Writer:jr HSZ;%%%WJMZBMR#include#include#include#include#include#include#include#include#include#include#incl
2018-01-15 23:45:59
1228
原创 dp初试——数字三角形
数字三角形 初学动态规划。 经典例题数字三角形,就是从下往上推,把每一个点的最优情况都留下,然后就在最上面的顶点汇成最大的那个。//Writer:jr HSZ;%%%WJMZBMR#include#include#include#include#include#include#define LL long long#define f(i,a,b) for(registe
2018-01-14 21:44:59
260
原创 单源最短路径——dijkstra
dijkstra的单源最短路径。如题, dijkstra就是蓝白点思想(我自己还没有完全搞懂不会写讲解的,等我会讲解了再重编辑这篇博客。) 代码如下单源最短路径 dijkstra其实就是选一个起始点,从起始点开始遍历剩余的点,求出所有的点到起始点的距离,其中最短的就是最短路径。//Writer:jr HSZ;%%%WJMZBMR#include#include#include
2018-01-12 17:42:30
319
原创 LUOGU P1603斯诺登的密码
一道恶心的字符串的模拟。毫无意义。 洛谷P1603 思路挺简单的,就是把各种单词变成数字后直接排个序,按占两个位,输出就行了(有dalao提醒我用long long) 还有another表示三者及以上(希望英语课每天睡觉的蒟蒻没有听错)所以another表示3.#include#include#include#include#include#include#include#
2018-01-12 17:26:06
697
原创 模板——堆
#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>//#include<set>//#include<bits/stdc++.h>using namespace std;int n,x,r;int t=0;int hp[1000005];void pus(int x) { int now
2018-01-10 18:36:58
201
原创 模板 并查集
并查集的模板可能是最简单的模板了吧。。。(希望不要被打脸)。//Writer:jr HSZ;%%%WJMZBMR#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<cstdlib>#define f(i,a,b) for(register int i=
2018-01-01 22:13:30
169
原创 LUOGU P2085 最小函数值
题目描述有n个函数,分别为F1,F2,…,Fn。定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*)。给定这些Ai、Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个)。输入输出格式输入格式: 输入数据:第一行输入两个正整数n和m。以下n行每行三个正整数,其中第i行的三个数分别位Ai、Bi和Ci。Ai<=10,Bi<=100,Ci<=10 000。输出格式: 输出数据
2017-12-16 00:29:41
331
原创 LUOGUP1631---序列合并
#include<cstdio>#include<iostream>#include<cstring>using namespace std;int n;int hp[1000005];int z[1000000];int cnt,acnt=1,bcnt=1;int a[100005],b[100005];int mx;void pus(int x) {//建立大根堆(一直想的建
2017-12-14 16:42:10
155
原创 LUOGU P2731 骑马修栅栏 Riding the Fences
题目背景Farmer John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。题目描述John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。每一个栅栏连接两个顶点,顶点用1到500标号(虽然有的
2017-12-13 18:48:34
236
原创 POJ2386---Lake Counting
poj2386 算了不复制题目了。。。 一道深搜题,然后我又是用的宽搜,因为一本通说用宽搜(好像深搜更简单),好不容易1A,可能因为题比较水。。。毕竟题就是关于水的。。。#include<iostream>#include<cstdio>#define MAXN 105using namespace std;int n,m;int w[MAXN][MAXN];bool vis[MAX
2017-11-28 23:56:39
182
原创 LUOGU2819--图的m染色问题
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int n,m,k;int a,b,cnt;int u[105][105],v[105]= {0},col[105]= {0};void dfs(int x) { if(x>n) { cnt++; retu
2017-11-26 22:55:46
244
IOI国家集训队论文集
2020-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人