zyy大蒟蒻的博客

一个无聊蒟蒻的博客

排序:
默认
按更新时间
按访问量

博主自传

ZJ蒟蒻一枚。 从六年级参加pj,三年没一等。 其中初一初二差10分一等。 初三侥幸tg一等。 望神犇指教。 本人联系方式 qq:1067933169

2017-02-28 20:34:22

阅读数:980

评论数:10

NOIp2017酱油记

好久没更了233. Day 0: 上午傻逼模拟赛。 花说炸一个点一个俯卧撑 有个小哥爆蛋233。(60个) 中午去衢州。 然后在市区堵了1个小时。 晚上接着看骗导+RP导。 话说某位大佬和他妈都没带雨伞233 PS:上午学校里RP++刷到15EDay 1: 居然和旺仔分到了一个...

2017-11-12 20:09:45

阅读数:576

评论数:0

NOI2017题解(挖坑待填)

day1T1: 首先将加和减分开统计,只要比较后缀大小就行 如何比较后缀大小?暴力找到下一个不等的位置。 于是我们用set维护不等的位置,每次查找以下就可以了。 然后你就在UOJ上拿到了96分(蛤) 虽然时间复杂度是O(L log L) 其中L表示涉...

2017-08-26 21:32:27

阅读数:976

评论数:0

NOI2017酱油记(伪)

好吧其实是因为菜没拿到名额才去打同步赛的。 day1: 拿到题面: 1.不存在的 2.tan 90° 3.辣鸡吉利 卧槽,全是假题。 此时SKYDEC在裙上说第三道用dp骗分。 于是我就愉快的撸了一个小时撸出来了。 然后一看T2,好像可以哈希呀 然后就愉快的花了一个小时码码码 ...

2017-08-26 21:04:45

阅读数:523

评论数:5

bzoj1340: [Baltic2007]Escape逃跑问题

传送门 我们大力拆点,在相邻两个距离小于等于200的点连边 然后S向离上边界小于等于100的点连边 离下边界小于等于100的点向T连边 大力最小割一点不虚。#include<bits/stdc++.h> #define N 505 using namespace std; in...

2017-07-28 21:22:36

阅读数:180

评论数:0

bzoj1338: Pku1981 Circle and Points单位圆覆盖

传送门 首先,最有解一定是有一个点恰好在圆上。 然后我们枚举那个在圆上的点 然后我们计算出当圆心绕该店旋转时,其他点能被覆盖的区间 然后大力线段覆盖一发就行了 时间复杂度O(N^2logN)#include<bits/stdc++.h> using namespace std...

2017-07-28 21:20:00

阅读数:163

评论数:0

bzoj1329: The Morning after Halloween小鬼回家

传送门 根据题目我们推断又是搜索。 但是你单次搜索(16^6*4^5)直接TLE 我们考虑Astar 首先我们预处理处三个终点到其他节点的距离。 然后一个状态个估价函数就是三个节点到三个目标点的距离最大值。 然后我们按照当前步数+估计函数来对状态进行增广 然后你就驶过去了。 辣鸡码...

2017-07-28 21:16:49

阅读数:177

评论数:0

bzoj1330: Editing a Book

传送门 我们可直接暴力广搜算答案。 但是你会发现你预处理完就要20s+ 于是我们考虑折半。 我们首先计算出答案小于3的部分 然后我们对于每次询问倒着广搜算出答案 然后你就可以卡过去啦#include<bits/stdc++.h> #define ll long long u...

2017-07-28 21:10:32

阅读数:154

评论数:0

bzoj1331: 魔板

传送门 直接大力广搜出奇迹。 不需要任何优化#include<bits/stdc++.h> using namespace std; map<int,int> mp; int a[10],b[10],q[100005]; int x,y; int cal(int *a)...

2017-07-28 21:07:16

阅读数:158

评论数:0

bzoj1394: [Baltic2005]ancient

传送门 大力动归。 设f[i][k][l][p]表示前i位,连续相同字母个数k个,连续相同种类字母l个,字母是p的方案数 然后大力dp一发就可以了。#include<bits/stdc++.h> using namespace std; int C[2],E[2],n,hsh[3...

2017-07-28 21:04:51

阅读数:122

评论数:0

bzoj1395: [Baltic2005]Trip

传送门 我们可以将问题转化为中间乘坐公交的最长时间。 然后我们对于每条边我们把它当成在a时刻出发,中间乘坐时间为c-b,到达时间为d的一条线路。 然后你就可以想到一个O(NM)的动归, f[i][j]表示在j时刻到达i的左右答案 当然那一定是TLE+MLE 于是我们考虑优化。 我们发...

2017-07-27 21:51:33

阅读数:113

评论数:0

bzoj1399: Win

传送门 根据数据范围我们推断算法是爆搜or状压dp 然后看着爆搜比较假,就去打dp了。 首先我们发现每个人挂掉的顺序可以看成一颗树 我们大力计算出树的高度,然后dp 设f[i][j][k]表示当前树的最大深度是k,选取的子集是j,胜利者是i的方案数 然后我们每次大力枚举子集dp就可以了...

2017-07-27 21:39:09

阅读数:116

评论数:0

bzoj1300: [LLH邀请赛]大数计算器

传送门 最后的十二位我们大力质因数分解之后快速幂爆出来。 前面已看只有三位于是考虑大力用log来爆过去。 我们计算出答案的log值,然后截取ans-int(ans)+2的log值。 然后我们大力pow一波然后取整爆过去你就AC辣。#include<bits/stdc++.h> ...

2017-07-27 21:34:30

阅读数:178

评论数:0

bzoj1945: [Ceoi2007]Royaltreasury

传送门 裸的树形dp。 f[i][0/1]表示当前位置没用/用了 转移暴力就可以了 然后就是喜闻乐见的高精度模板了。#include<cmath> #include<vector> #include<cstdio> #include<cstdlib...

2017-07-26 21:19:39

阅读数:131

评论数:0

bzoj1943: [Ceoi2007]Nasty Calculations

传送门 我们发现这个式子可以被化简为一个一次多项式。 然后我们大力算出多项式 每一次大力计算即可 当然,我们显然需要取模偷懒233.#include<map> #include<cmath> #include<vector> #include<cs...

2017-07-26 21:15:22

阅读数:96

评论数:0

bzoj1942: [Ceoi2007]Ministry

传送门 我们在建树的时候求出每个节点的哈希值 哈希函数你就乱搞一下 反正出题人不会来卡你哈希#include<map> #include<cmath> #include<vector> #include<cstdio> #include<...

2017-07-26 21:07:33

阅读数:117

评论数:0

bzoj1939: [Croatian2010] Zuma

传送门 看英文题解的辣。上图: 翻译过来是: f[i][j][k]表示消除第i个到第j个珠子,且第i个珠子前面有k个同色珠子的最优解。 有三种转移: 1.插入一个:f[i][j][k]=f[i][j][k-1]+1 2.k=K-1时在前面插入之后消掉:f[i][j][k]=f[...

2017-07-26 21:04:20

阅读数:254

评论数:0

bzoj1935: [Shoi2007]Tree 园丁的烦恼

传送门 在不强制在线的情况下我们为啥要去写树套树呢? 首先我们将询问离散化,然后我们将每一个询问分成四个小的询问 然后我们将修改和询问按照x坐标排序。 每次树状数组暴力求解即可。 时间复杂度O((N+M)logN)#include<cmath> #include<cst...

2017-07-23 17:29:26

阅读数:149

评论数:0

bzoj1934: [Shoi2007]Vote 善意的投票

传送门 看到假题,我们就应该想到网络流。 从S向不睡的人连单向边,流量1 从睡的人向T连单向边,流量1 每对朋友之间连双向边,流量1 大力最小割一发就可以了。#include<cmath> #include<cstdio> #include<cstring&...

2017-07-23 17:21:45

阅读数:133

评论数:0

bzoj1933: [Shoi2007]Bookcase 书柜的尺寸

传送门 S前面那一坨就是max(hi) 然后就是大力dp 设f[i][j][k]表示前i本书,第一层长度和为j,第二层长度和为k的最小第三层长度。 显然可以滚掉一维 转移十分简单。#include<cmath> #include<cstdio> #include&...

2017-07-23 17:14:38

阅读数:174

评论数:0

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