![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ZJOI
LauZiyang
exploring
展开
-
省选专练ZJOI2006皇帝的烦恼
这题可以蜜汁骗分 直接输出两边之和最大值——60,对于省选还是不错的。 答案绝对保证单调。 于是考虑二分。 check不好写。 用dp判。 看代码吧#include using namespace std; int a[30001]={0}; int maxsum[30001]={0}; int minsum[30001]={0}; int n; void init(){ memse原创 2017-12-11 23:26:00 · 278 阅读 · 0 评论 -
省选专练之斜率优化[ZJOI2007]仓库建设
乍一看不好维护前缀和 观察前缀关系:令 有:贡献为 暨拆开: 故设: 对于朴素DP、 转移有: 设k为选中点 有: 消去相同项 不妨设 有 完毕 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #inc...原创 2018-08-16 22:00:33 · 103 阅读 · 0 评论 -
省选专练 [ZJOI2006]物流运输
这种是现在NOIP爱考的的东西啊!!! 首先:明显想到最短路 那么怎么搞? 定义Cost(i,j)从第i天到第j天可行的最短路。 F(i)为前i天最小代价,然后就随便搞了啊。 #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #includ...原创 2018-07-20 08:12:54 · 298 阅读 · 0 评论 -
省选专练[ZJOI2008]瞭望塔
模板能够满足条件的一定出自核是吧于是咱跑个半平面交。答案出自跑出来的凸壳的顶点上。#include<bits/stdc++.h> using namespace std; const double INF=1e16; const double eps=1e-8; const int N=20000; int n; double ans=INF; int cmp(double x){ ...原创 2018-03-21 15:37:26 · 167 阅读 · 0 评论 -
省选专练ZJOI2012旅游
STL在开O2后自然是大水题。考点:树的直径。第一二次构图。把每一个三角块相邻的建边。怎么建?STL-你都做到这个题了MAP hash两个值铁定会吧。但是ZJOI没有那么好心,不过你也有70分了。于是这样:把两点建边。排个序。相同的时候连起来。树的直径。很多人求复杂了。树的直径一遍DFS就可以,不需要两遍BFS。#include<bits/stdc++.h> using namespa...原创 2018-03-13 14:23:05 · 195 阅读 · 0 评论 -
省选专练ZJOI2005午餐
这是个好题考察dp优化,dp,贪心,01背包变种。好首先对吃饭时间从大到小排序,因为一队人打饭时长总和一样。dp(i,j)表示前i个人,第一组用j的时间。放第一个背包:dp[i][j]=min( max(dp[i-1][j-a[i].w],j+a[i].v) )放第二个背包:dp[i][j]=min( max(dp[i-1][j],sum[i]-j+a[i].v) )最会遍历一遍。然后就是滚动数组...原创 2018-02-21 21:35:18 · 119 阅读 · 0 评论 -
省选专练ZJOI2012小蓝的好友
第一考虑容斥原理。然后扫描线扫过去,用一棵可持久化平衡树treap维护搞。http://wjmzbmr.com/archives/zjoi_2012_round_1_mrx_detailed_problem_solutions/陈老师的说的很不错。#include<iostream> #include<cstdio> #include<algorithm> #i...原创 2018-03-06 21:39:58 · 156 阅读 · 0 评论 -
省选专练ZJOI2011看电影
高精度+组合数学#include #include #include #include #include using namespace std; /* 先加上一个位置并看成一个环,那么方案数就是(K+1)^n,并且可以保证一定合法,因为是环,又因为是环可以转有K+1个方案重复了,所以实际上是(K+1)^n-1。 拆掉一个空座位回到原问题,因为是空位,所以一定没有人跨过去,任何一个空位都可拆,那原创 2018-01-13 17:27:01 · 165 阅读 · 0 评论 -
省选专练ZJOI2004书架
和06的书架比,这可是数学的多。 必须使用置换群+离散。 搜一个就是的了。 #include using namespace std; int a[2001]={0}; int use[2001]={0}; int n,minsum,ji,ou; int odd(int x){ return x%2; } void dfs(int k,int ki,int od,int even){ u原创 2017-12-11 23:28:18 · 140 阅读 · 0 评论 -
省选专练之[ZJOI2008]骑士
是个基环树 就是早期仙人掌没引入OI的时候把树搞难的办法 做法有点像小C的独立集(我好毒啊仙人掌的题似乎要难一点吧) 于是找环(DSU即可) 然后随便断环 就完了 // luogu-judger-enable-o2 #include<bits/stdc++.h> using namespace std; const int N=1e6+100; typedef int...原创 2018-08-28 16:33:52 · 160 阅读 · 0 评论