151010 总结

论如何开场不顺

10分钟自己以为A1,然后狂搞其他题

反过来看第一题,最后20min检查的时候才发现自己推错了公式

dfs(m,n)可以视为dfs(m+n,n)的一个子问题,可以递归做 30

//Copyright(c)2015 liuchenrui
#include<cstdio>
#include<ctime>
#include<iostream>
#include<algorithm>
#include<cstring>
#define ll long long
using namespace std;
int n,m,k;
bool flag=true;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
void dfs(int n,int m)
{
	if(m==0)return;
	int t=n/m*m;
	for(int i=1;i<=t;i++)
	{
		if(flag)flag^=1,printf("%d",m);
		else printf(" %d",m);
	}
	dfs(m,n%m);
}
int main()
{
	freopen("candy.in","r",stdin);
	freopen("candy.out","w",stdout);
	cin>>n>>m>>k;
	if(n>m)swap(n,m);
	int d=gcd(n,m);
	cout<<n+m-d<<endl;
	if(k==1)dfs(m,n);
}
T2

考场上把暴力写完 60

最后正解居然是一个暴力的翻版 然后调了一下午

//Copyright(c)2015 liuchenrui
#include<cstdio>
#include<ctime>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
inline void R(int &v)
{
	v=0;char c=0;int p=1;
	while(c<'0' || c>'9'){if(c=='-')p=-1;c=getchar();}
	while(c>='0' && c<='9'){v=(v<<3)+(v<<1)+c-'0';c=getchar();}
	v*=p;
}
int n,m,q;
struct Edge
{
	int to,next,len;
}edge[100010];
int first[50010],size;
int ans[50010];
bool flag=false;
int father[50010];
int getfather(int v)
{
	if(father[v]==v)return v;
	father[v]=getfather(father[v]);
	return father[v];
}
void addedge(int x,int y,int z)
{
	size++;
	edge[size].to=y;
	edge[size].len=z;
	edge[size].next=first[x];
	first[x]=size;
}
int color[50001];
bool visit[50005];
int gcd(int a,int b)
{
	return b==0?a:gcd(b,a%b);
}
void dfs(int now)//染3 
{
	color[now]=3;
	for(int u=first[now];u;u=edge[u].next)
	{
		ans[father[now]]=gcd(ans[father[now]],edge[u].len);
		if(color[edge[u].to]!=3)
		{
			dfs(edge[u].to);
		}
	}
}
void dfs1(int now)//跑出ans 
{
	visit[now]=true;
	for(int u=first[now];u;u=edge[u].next)
	{
		ans[father[now]]=gcd(ans[father[now]],edge[u].len);
		if(!visit[edge[u].to])dfs1(edge[u].to);
	}
}
void dfs2(int now,int col)
{
	color[now]=col;
	for(int u=first[now];u;u=edge[u].next)
	{
		if(color[edge[u].to])
		{
			if((edge[u].len/ans[father[now]])&1)
			{
				if(color[edge[u].to]==color[now])
				{
					flag=true;
					return;	
				}
			}
			else
			{
				if(color[edge[u].to]!=color[now])
				{
					flag=true;
					return;	
				}
			}
		}
		else
		{
			if((edge[u].len/ans[father[now]])&1)dfs2(edge[u].to,(((col-1)^1)+1));
			else dfs2(edge[u].to,col);
			if(flag)return;
		}
	}
}
int main()
{
	int _q=10<<20;
	char *_p=(char*)malloc(_q)+_q;
	__asm__("movl %0, %%esp\n"::"r"(_p));
	freopen("pod.in","r",stdin);
	freopen("pod.out","w",stdout);
	R(n),R(m),R(q);
	for(int i=1;i<=n;i++)father[i]=i;
	for(int i=1;i<=m;i++)
	{
		int x,y,z;
		R(x),R(y),R(z);
		addedge(x,y,z);
		addedge(y,x,z);
		int l=getfather(x);
		int r=getfather(y);
		if(l!=r)father[l]=r;
	}
	for(int i=1;i<=n;i++)getfather(i);
	for(int i=1;i<=n;i++)if(father[i]==i)ans[i]=edge[first[i]].len;
	for(int i=1;i<=n;i++)
	{
		if(!color[i])dfs1(i),dfs2(i,1);
		if(flag)dfs(i),flag^=1;
	}
	for(int i=1;i<=q;i++)
	{
		int x,y,z;
		R(x),R(y),R(z);
		if(getfather(x)!=getfather(y)){printf("NIE\n");continue;}
		if((z/gcd(z,ans[father[x]])&1)){printf("0\n");continue;}
		if(color[x]==color[y]){printf("0\n");continue;}
		else printf("%d\n",gcd(z,ans[father[x]]));
	}
	exit(0);
}

T3是一个前缀和,明明秒出解然后题目给了3s,吓得我检查了好多遍 100

//Copyright(c)2015 liuchenrui
#include<cstdio>
#include<ctime>
#include<iostream>
#include<algorithm>
#include<cstring>
#define mod 2147483648ll
#define N 80010
#define ll long long
using namespace std;
inline void R(ll &v)
{
	v=0;char c=0;ll p=1;
	while(c<'0' || c>'9'){if(c=='-')p=-1;c=getchar();}
	while(c>='0' && c<='9'){v=(v<<3)+(v<<1)+c-'0';c=getchar();}
	v*=p;
}

ll g[N],c[N],d[N],gc[N],gcd[N],cd[N];
char s[N];
ll n,q;
int main()
{
	freopen("gcd.in","r",stdin);
	freopen("gcd.out","w",stdout);
	scanf("%s",s+1);
	ll len=strlen(s+1);
	for(ll i=1;i<=len;i++)
	{
		g[i]=g[i-1];c[i]=c[i-1];d[i]=d[i-1];
		gc[i]=gc[i-1];gcd[i]=gcd[i-1];cd[i]=cd[i-1];
		if(s[i]=='g')g[i]++;
		if(s[i]=='c')c[i]++,gc[i]+=g[i];
		if(s[i]=='d')d[i]++,gcd[i]+=gc[i],cd[i]+=c[i];
	}
	R(q);
	while(q--)
	{
		ll l,r;R(l),R(r);
		ll ans=gcd[r]-gcd[l-1];
		ans-=g[l-1]*(cd[r]-cd[l-1]-c[l-1]*(d[r]-d[l-1]));
		ans-=gc[l-1]*(d[r]-d[l-1]);
		printf("%I64d\n",ans%mod);
	}
	return 0;
}



1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。、资源 5来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。、资 5源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 、3本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 、本项3目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看ReAdmE.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值