02 2015 档案
摘要:f(i)=min{f(j)+(D(j)using namespace std;#define N 1000001struct Point{int x,y;};bool operator =b.y;}int n,m,K,q[N];Point dp[N];int main(){ scanf("%d",&...
阅读全文
摘要:#includeusing namespace std;#define N 1000001int n,K,a[N],head=1,tail=1,q[N],ans[N];int main(){ scanf("%d%d",&n,&K); for(int i=1;i=head) --tail; q[...
阅读全文
摘要:因为所有点权都是正的,所以对每个结点u来说,每条从根到它的路径上只有最多一个结点v符合d(u,v)=S。所以我们可以边dfs边把每个结点的前缀和pre[u]存到一个数据结构里面,同时查询pre[u]-S是否存在。数据结构用set、hashtable(随便卡)(需要支持删除,由于总是删掉最后一个,因此...
阅读全文
摘要:模板题。#include#include#include#includeusing namespace std;#define MAXN 20001#define INF 2147483647typedef pair Point;int n,K,ans,T[3];int v[MAXN<<1],w[M...
阅读全文
摘要:同poj1741。换了个更快的姿势,不会重复统计然后再减掉什么的啦~#include#include#includeusing namespace std;#define MAXN 40001#define INF 2147483647typedef pair Point;int n,K,ans;i...
阅读全文
摘要:给nlog2n随便过的跪了,不得已弄了个哈希表伪装成nlogn(当然随便卡,好孩子不要学)……不过为啥哈希表的大小开小点就RE啊……?必须得超过数据范围一大截才行……谜#include#include#includeusing namespace std;int f,c;inline void R(...
阅读全文
摘要:思路比较裸,但是要把答案存到哈希表里面,这里需要一定技巧,否则会被K=1且点权全是1的数据卡飞。预处理乘法逆元。TLE了一天。换了种点分治的姿势……#pragma comment(linker,"/STACK:102400000,102400000")#include#include#include...
阅读全文
摘要:求树上点权积为立方数的路径数。显然,分解质因数后,若所有的质因子出现的次数都%3==0,则该数是立方数。于是在模意义下暴力统计即可。当然,为了不MLE/TLE,我们不能存一个30长度的数组,而要压成一个long long。存储状态用map即可,貌似哈希表可以随便卡掉……?手动开栈……当然这样有可能M...
阅读全文
摘要:点分治好题。①手动开栈。②dp预处理每个点被哪个市场控制,及其距离是多少,记作pair数组p。③设dis[u].first为u到重心s的距离,dis[u].second=u,到在统计的时候,若dis[u] 3 #include 4 #include 5 #include 6 using na...
阅读全文
摘要:三道题都很类似。给出1741的代码#include#include#includeusing namespace std;#define MAXN 10001typedef pair Point;int n,K,ans;int v[MAXN<<1],w[MAXN<<1],first[MAXN],ne...
阅读全文
摘要:3.千石抚子的三维积木(nadeko.cpp/in/out)3.5s512MB10*10=100分p.s.本题含有一些(本人)黑历史,请自动过滤题目背景…==自从蛇切绳被搞掉之后,抚子认识到普通的蛇其实是很和谐的东西。于是她开始养蛇,有天在家无聊就开始用蛇堆积木。由于她是驯蛇高手所以它们都很听话堆上...
阅读全文