神奇乱搞
_ldxxx_
...
展开
-
【bzoj 1878】HH的项链
传送门~解题思路将询问按右端点排序。对于区间[1~R],保证在每种颜色最后出现的位置为1,用树状和双向链表维护,就可以快速求解了。 代码:#include<algorithm>#include<cmath>#include<iostream>#include<cstring>#include<string>#include<cstdio>#include<cstdlib>using原创 2017-12-27 21:23:27 · 221 阅读 · 1 评论 -
【bzoj 2435】道路修建
传送门~解题思路看了题面觉得极水,本来想顺手水一下,结果一直RE。。。 后来发下此题卡系统栈。。。mdzz。。 所以dfs要少传几个参要不就会RE。 代码:#include#include#include#include#include#include#includeusing namespace std;int hed[1000005],nex[200000原创 2018-01-12 21:40:51 · 215 阅读 · 0 评论 -
【bzoj 4927】第一题
传送门~解题思路一道神题,被虐了好久才调出来。。。 用六根拼正方形一共只有两种情况: 对于情况(1),我们先将所有数排序,然后枚举 iii 作为图(1)中紫色的边,即上面三个边中最长的边,同时记录num[x]num[x]num[x]存前 i−1i−1i-1 个数两两相加得 xxx 的方案数。再从 iii 向后枚举 jjj 作为红色边来统计答案。 对于情况(2),先将排好序的数...原创 2018-01-17 16:57:36 · 310 阅读 · 0 评论 -
【bzoj 4059】Non-boring sequences
传送门~解题思路考虑分治。虽然我觉得就是暴力 对于一个数,左边第一个与它一样的数的位置记为z[i],右边第一个记为y[i]。 对于区间[l,r],如果其中存在一个数i,使z[i] r,那么区间[l,r]是一定符合题目中条件的,只要这个区间的子区间[l,i-1]和[i+1,r]也符合条件,区间[l,r]就是不无聊的。于是这么分治下去就行了。 但是这么写会T,确切的说会被卡成 OO原创 2018-01-15 13:16:46 · 264 阅读 · 2 评论 -
【bzoj 1121】激光发射器SZK
传送门~解题思路伟大的物理学。。。 代码:#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<cstdio>#include<cmath>#include<cstdlib>using namespace std;int n;int main(){ scanf("%d"原创 2017-12-27 20:52:45 · 264 阅读 · 1 评论 -
【bzoj 1609】麻烦的聚餐
传送门~解题思路f[i][j]表示到第i位最大号码为j的最小修改次数,正反分别跑依次就行了。 代码:#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<cstdio>#include<cmath>#include<cstdlib>using namespace std;int原创 2017-12-27 20:46:55 · 663 阅读 · 1 评论 -
【bzoj 1050】旅行comf
传送门~解题思路枚举最小边,再将比它大的边依次假如图中,直到源汇点连通。 代码:#include<cstdio>#include<iostream>#include<cstring>#include<string>#include<algorithm>#include<cmath>#include<cstdlib>using namespace std;struct ldx{原创 2017-12-27 20:14:35 · 303 阅读 · 1 评论 -
【bzoj 2222】猜数游戏
传送门~解题思路史上最强大的乱搞,没有之一。 代码:#include<cstdio>using namespace std;int n;int main(){ scanf("%d",&n); if (n==296) {printf("13\n"); return 0;} if (n==6) {printf("5\n"); return 0;} if (n=原创 2017-12-27 20:06:15 · 774 阅读 · 5 评论 -
【bzoj 1257】余数之和sum
传送门~解题思路多年以前get到的新技能,水篇博客以示敬意。 代码:#include<iostream>#include<algorithm>#include<cstring>#include<cstdlib>#include<string>#include<cmath>#include<cstdio>#define ll long longusing namespace std;原创 2017-12-27 20:02:56 · 177 阅读 · 2 评论 -
【bzoj 2321】星器
传送门~解题思路一道神题。 设(i,j)的势能为i^2+j^2,若将(i,j)和(i,k)进行2操作,可以发现始态和终态的势能差刚好为(j-k+1)*2。所以这题的正解就是,求出始态和终态的势能差除以2就是答案。 代码:#include<algorithm>#include<cmath>#include<cstring>#include<iostream>#include<string>原创 2018-01-03 15:59:07 · 303 阅读 · 0 评论 -
【bzoj 1588】营业额统计
传送门~解题思路按大小顺序建链表,然后按从后向前的顺序依次删除每个元素并统计答案。 稳稳水过,需要一些奇技淫巧。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstring>#include<string>#include<cstdio>#include<cstdlib>using namespac原创 2018-01-02 20:53:47 · 276 阅读 · 0 评论 -
【bzoj 1303】中位数图
传送门~解题思路比d大的数记为1,小的记为-1,求前缀和。若某一位前缀和为x时,它之前有多少同为x的位置,答案就加几。 代码:#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<string>#include<cstdlib> using原创 2018-01-02 14:28:49 · 300 阅读 · 0 评论 -
【bzoj 3037】创世纪
传送门~解题思路贪心思想,首先建图后每个入度为零的点一定不选,瞎j8画图后发现如果一个点不选,它限制的点一定是选了最优。因为每个点只有一个出度,选到最后一定剩若干个简单环,大小为n的环一定可以选n/2个点,然后统计答案就好了。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstdio>#include<cs原创 2018-01-10 11:43:53 · 371 阅读 · 0 评论