Codeforces Round #181 (Div. 2) 部分解题报告

思想总结:

上次rating 略微涨了一点,这次心急。连a题的样例都没仔细查对,就wa了一次。并且老毛病,改代码不细想。

b题,并查集也搞了好久,不熟练。然后处理集合一直处于想清楚,没想清楚的混沌状态。然后一个条件判断错了。早上起来想哪里没处理清楚。原来是负数也能被一个数整除。没细想。

c题,据说是数位dp。不会,去年暑假集训有一个打标题是dp。但打表ac后,就没管了。。。

要学习的东西很多啊。。。

 

http://www.codeforces.com/contest/300

 

a题水题;

#include<cstdlib>
#include<algorithm>
#include<cstdio>
//#inclu 
#include<iostream>
using namespace std;

int a[5566];

int main()
{ 
  int n;
  while(cin>>n)
  {
               for(int j=0;j<n ;j++)
               cin>>a[j];
               
               
               sort(a,a+n);
               
               if(a[0]<0&& a[n-1]>0){
                       cout<<"1 " <<a[0]<<endl;
                       cout<<"1 "<<a[n-1]<<endl;
                       
                       cout<<n-2 ;
                       
                      
                       for(int j=1;j<n-1;j++)
                       cout<<" "<<a[j];
                       
                       cout<<endl;
               }
               else   {
                      cout<<"1 "<< a[0]<<endl;
                      cout<<"2 " <<a[1]<<" "<<a[2]<<endl;
                      
                      cout<<n-3;
                      for(int j=3;j<n;j++)
                      cout<<" "<<a[j];
                      cout<<endl;
                      }
                      }
  return 0;
}


 

 

 

b题,就是一个并查集再加点想法,如果一个集合是3个元素的话,直接输出这个集合中的元素,如果这个集合只有2个元素的话, 就要找一个只有一个元素的集合,一起输出。

 

 

#include<cstdlib>
#include<algorithm>
#include<cstdio>
//#inclu 
#include<iostream>
using namespace std;


int f[1000];

int find(int x)
{
	int t=x;
	while(f[t] > 0)
		t=f[t];
	//f[x] = (f[x] < 0 ? f[x] : find(f[x]));
	return t;
}

void merge(int x,int y)
{
	if(find(x) == find(y) ) return ;
	int t=f[ find(x) ] +  f [find(y) ];

	f[find(x)] = y;
	f[find(y)] = t;
}
int main()
{
	int n,m,t;
	int j,i,k,l;
	int x,y;
	int one,two,three,four;
	while(cin>>n>>m){

		for(j=1;j<=n;j++)  f[j]=-1;
		four=one=two=three=0;
		
		for(j=0;j<m;j++){
			cin>>x>>y;
 			merge(x,y);
		}

		for(j=1;j<=n;j++)
			if(f[ find(j)] == -1)
				one++;
			else if(f[find(j)] == -2)
				two++;
			else if(f[find(j)] == -3)
				three++;
			else 
				four++;
            
			two/=2;
			three/=3;
			
			if(four>0)
            {
                      cout<<"-1"<<endl;
                      continue;
                      } 
	/*		if(one != 0   &&(one -two) < 0 )
				{
					cout<<"-1"<<endl;
					//cout<< "-1"<<one<<"  "<<two<<endl;                  
					continue;
				}
			if(one == 0 && two != 0)
				
				{
					cout<<"-1"<<endl;
					//cout<<"-1"<<"llkjkljljlk"<<endl;
					continue;
				}
				
		*/		
		
		if(two != 0 && one - two <0){
               cout<<"-1"<<endl;
               continue;
               }
			else 
			{
				j=1;
				k=2;
				l=3;
				while(three--)
				{
					for(;j<n+1;j++)
						for(k=j+1;k<n+1;k++)
							for(l=k+1;l<n+1;l++)
								if(j !=k && j!=l && k!=l && find(j)==find(k)&&find(j)== find(l)  && f[find(j)] == -3){
									cout<<j<<" "<<k<<" "<<l << endl;
									f[find(j)] = -432;
                                  
									goto out1;
								}
								out1:;
				}

				t=1;
				while(f[find(t)]!=-1 && t <=n)
					t++;
              
              j=1;
              k=2;
				while(two--){

					for(;j<n+1;j++)
						for(k=j+1;k<n+1;k++)
							if(j!=k && find(j)== find(k)  && f[find(j)]== -2){
                                    f[find(j)]= -3423;
								cout<<j<<" "<<k<<" " <<t<< endl;
                             
                             
								goto out2;
                            }
					out2:
						t++;
					while(f[find(t)]!=-1 && t<=n)t++;
					one--;

				}
				j=n;
				while(one>0){
					while(f[find(j)] != -1 )
						j--;
					cout<<j;
					j--;

					while(f[find(j)] != -1 ) j--;
					cout<<" "<<j;
					j--;

				while(f[find(j)] != -1) j--;
					cout<<" " << j<<endl;
					j--;

					one--;
					one--;
					one--;    
				}


			}




	}
	return 0;
}


weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
weixin102旅游社交微信小程序+ssm后端毕业源码案例设计 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、付费专栏及课程。

余额充值