`
暴风雪
  • 浏览: 388902 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

[usaco] Chapter2-Bigger Challenges(Section 2.3)

阅读更多

 

/*
ID: bbezxcy1
PROG: prefix
LANG: C++
*/
#include<fstream>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
char cha[203][15],str[200005];
int len[203];
bool dp[200005];

ifstream fin("prefix.in");
ofstream fout("prefix.out");
bool check(int loc,int a)
{
    int j=len[a]-1;
    for(int i=loc;i>loc-len[a];i--,j--)
    {
        if(str[i]!=cha[a][j])
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int n,i,j,k,ans,b,c;
    char buff[100];
    while(fin>>cha[0])
    {
        n=1;
        ans=0;
        len[0]=strlen(cha[0]);
        while(fin>>cha[n])
        {
            if(cha[n][0]=='.')
            {
                break;
            }
            len[n]=strlen(cha[n]);
            n++;
        }
        fin>>str+1;
        while(fin>>buff)
        {
            strcat(str+1,buff);
        }
//        while(fin>>str+l)
//        {
//            l=strlen(str+1);
//        }
        memset(dp,0,sizeof(dp));
        dp[0]=1;
        int l=strlen(str+1);
//        cout<<l<<endl;
//        cout<<n<<endl;
        for(i=1;i<=l;i++)
        {
            for(j=0;j<n;j++)
            {
                if(len[j]<=i&&dp[i-len[j]]==1)
                {
             //       cout<<i<<" "<<j<<endl;
                    if(check(i,j))
                    {
                        ans=i;
                        dp[i]=1;
                        //cout<<i<<" fuck "<<j<<endl;
                    }
                }
            }
        }
        fout<<ans<<endl;
    }
    return 0;
}

 

/*
ID: bbezxcy1
PROG:	nocows
LANG:	C++
*/
#include<iostream>
#include<cstring>
#include<fstream>
#include<cstdio>
using namespace std;

ifstream fin("nocows.in");
ofstream fout("nocows.out");
int dp[300][300];
int main()
{
    int n,k,i,j,m;
    while(fin>>n>>m)
    {
        memset(dp,0,sizeof(dp));
        for(i=0;i<300;i++)dp[1][i]=1;
        for(i=3;i<=n;i++)
        {
            for(j=2;j<=m;j++)
            {
                for(k=1;k<=i-2;k++)
                {
                    dp[i][j]+=dp[k][j-1]*dp[i-k-1][j-1];
                    dp[i][j]%=9901;
                }
            }
        }
        fout<<(dp[n][m]-dp[n][m-1]+9901)%9901<<endl;
    }
    return 0;
}

  /*

ID: bbezxcy1
PROG: zerosum
LANG: C++
*/
#include<iostream>
#include<fstream>
#include<stdio.h>
using namespace std;
ifstream fin("zerosum.in");
ofstream fout("zerosum.out");
int n;
int num;
char opera[20];
void print(){
	int i;
	for(i=1;i<n;i++)
        fout<<i<<opera[i];
        //printf("%d%c",i,opera[i]);
	fout<<n<<endl;
}
void dfs(int sum,int step,int bef){
	if(step==n){
		if(sum==0){
       			num++;
    		if(num<=20){
     			print();
			}
		}
	}
	else{
    	int next;
    	opera[step]=' ';
		if(step<9)
			next=bef*10+step+1;
		else
			next=bef*100+step+1;
		int i=step-1;
		while(opera[i]==' '&&i>=0)i--;
		if(opera[i]=='+')
            dfs(sum+next-bef,step+1,next);
		if(opera[i]=='-')
            dfs(sum-next+bef,step+1,next);
		opera[step]='+';
		next=step+1;
		dfs(sum+next,step+1,next);
		opera[step]='-';
		next=step+1;
		dfs(sum-next,step+1,next);

	}
}
int main(){
	fin>>n;
	num=0;
	opera[0]='+';
	dfs(1,1,1);
	return 0;
}

  /*

ID: bbezxcy1
LANG: C++
PROG: money
*/
#include<cstdio>
#include<iostream>
#include<cstring>
#include<fstream>
using namespace std;

ifstream fin("money.in");
ofstream fout("money.out");
long long dp[10001];
int v,n,t;
int main()
{
    fin>>v>>n;
    dp[0]=1;
    for (int i=1;i<=v;++i)
    {
        fin>>t;
        for (int j=t;j<=n;++j)
            dp[j]+=dp[j-t];
    }
    fout<<dp[n]<<endl;
    return 0;
}

  /*

ID: bbezxcy1
PROG: concom
LANG: C++
*/
#include<iostream>
#include<fstream>
#include<cstring>
#include<cstdio>
using namespace std;
const int nMax=110;
const int mMax=300000;
int ctrl[110];

class edge{
public:
    int u,v,nex,val;
};edge e[mMax];
int k,head[nMax];

void addedge(int a,int b,int c){
  //  cout<<a<<" add "<<b<<" "<<c<<endl;
    e[k].u=a;
    e[k].v=b;
    e[k].val=c;
    e[k].nex=head[a];
    head[a]=k;k++;
}

int n;
bool vis[110];

void dfs(int loc){
  //  cout<<loc<<endl;
	int i;
	vis[loc]=1;
	for(i=head[loc];i;i=e[i].nex){
	    int v=e[i].v;
		if(vis[v])continue;
		ctrl[v]+=e[i].val;
	}
	for(i=head[loc];i;i=e[i].nex){
	    int v=e[i].v;
		if(vis[v])continue;
        if(ctrl[v]>50){
			dfs(v);
		}
	}
}

ifstream fin("concom.in");
ofstream fout("concom.out");

int main()
{
    int i,j,a,b,c;
    while(fin>>n)
    {
        k=1;
        memset(head,0,sizeof(head));
        for(i=0;i<n;i++)
        {
            fin>>a>>b>>c;
            addedge(a,b,c);
        }
        for(i=1;i<=100;i++)
        {
            memset(vis,0,sizeof(vis));
            memset(ctrl,0,sizeof(ctrl));
			vis[i]=1;
            dfs(i);
            for(j=1;j<=100;j++)
            {
                if(j==i)continue;
                if(vis[j])
                {
                    fout<<i<<" "<<j<<endl;
                }
            }
        }
    }
    return 0;
}
 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    usaco chapter3-6

    usaco 3到6章讲解

    usaco 源程序 section2.3---section 5.5

    这个压缩包包含了USACO章节2.3到5.5的源程序,涵盖了多个阶段的学习内容。 USACO的每个章节通常会讲解一个或多个编程概念,包括基础的算法、数据结构以及更复杂的主题。让我们详细探讨这些章节可能涉及的知识点: ...

    usaco历年数据---2001

    2. **算法设计**:USACO和ACM比赛强调高效的算法设计,通过解题可以学习到排序、搜索、图论、动态规划等多种算法。 3. **编程语言的应用**:比赛通常接受多种编程语言的解决方案,如C++、Java、Python等,学习如何...

    USACO section1-5测试数据

    这个压缩包文件包含的是USACO比赛section1到section5的测试数据和标准程序,这对于准备参加USACO竞赛或者想要提升自己编程技能的学生来说,是非常宝贵的资源。 section1至section5代表了USACO比赛的不同难度级别,...

    usaco历年试题---2002

    《USACO历年试题——2002》 USACO,全称为USA Computing Olympiad,是美国计算机奥林匹克竞赛,旨在提升中学生的算法设计和编程能力。2002年的USACO试题集,是这一赛事历史上的一个重要部分,对于学习算法、准备ACM...

    USACO-Bessie-Come-Home.zip_Home Home

    【标题】USACO-Bessie-Come-Home.zip_Home Home 【正文】 这个压缩包文件中的内容是关于USACO(美国计算机奥林匹克)竞赛中一个名为"Bessie Come Home"的问题的C++解决方案。USACO是一个针对高中生的在线编程竞赛...

    USACO1-5单元AC代码

    2 Chapter2 2.1 Section 2.1 2.2 Section 2.2 2.3 Section 2.3 2.4 Section 2.4 3 Chapter3 3.1 Section 3.1 3.2 Section 3.2 3.3 Section 3.3 3.4 Section 3.4 4 Chapter4 4.1 Section 4.1 4.2 Section 4.2 4.3 ...

    USACO2001-2007历年月赛测试数据+题目+题解打包全

    资源包包括USACO 2001-2007年月赛的测试数据;usaco月赛十年题典(2000-2009),usaco月赛2002-2008题解。单独下载需资源分30分以上。为了方便编程爱好者,我这边统一下载打包。欢迎下载。

    USACO-Magic-Squares.zip_magic

    《USACO魔法方阵:C++编程解析》 USACO(美国计算机奥林匹克)是一项旨在培养高中生计算机科学技能的竞赛。在这个问题中,我们关注的是“Magic Squares”,这是一个经典的数学概念,与C++编程相结合,构成了一个...

    USACO-Greedy-Gift-Givers.rar_greedy gift givers

    USACO(USA Computing Olympiad)是一项面向美国高中生的在线编程竞赛,旨在培养参赛者的算法设计和编程技能。在"Greedy Gift Givers"这个题目中,我们面对的是一个贪心算法的应用问题。贪心算法是一种解决问题的...

    usaco 2010-2011

    2. **USACO 十一月竞赛** - 2010 年 11 月 5 日至 8 日 3. **COCI** - 2010 年 11 月 13 日 (http://www.hsin.hr/coci/) 4. **USACO 十二月竞赛** - 2010 年 12 月 3 日至 6 日 5. **COCI** - 2010 年 12 月 11 日 ...

    USACO2001-2007月赛全集

    这是USACO2001-2007月赛全集。 usaco是美国中学生的官方竞赛网站。是美国著名在线题库,专门为信息学竞赛选手准备。推荐直接阅读英语原文,既准确可靠又可提高英语水平。做题方式模拟正式比赛,采用标准测评机、文件...

    USACO-Training-Website:我的USACO培训网站解决方案

    这个名为"USACO-Training-Website:我的USACO培训网站解决方案"的压缩包文件,显然包含了作者对USACO训练网站上部分或所有章节的练习题目的解答。这些解答可能以源代码的形式存在,每个文件顶部可能带有详细的USACO...

    USACO-Training-Pages:美国计算机奥林匹克训练页

    在这个“USACO-Training-Pages”压缩包中,我们可以期待找到与USACO竞赛相关的各种资料,尤其是针对Java语言的学习材料。Java作为一种广泛应用于计算机科学领域的面向对象的编程语言,因其强大的跨平台能力和简洁的...

    USACO-Chapter2.rar_beginners

    "USACO-Chapter2.rar_beginners" 是针对USACO第二章内容的压缩包,特别适合编程新手入门。 在USACO的第二章,主要涉及基础的算法和数据结构,这对于构建扎实的编程基础至关重要。让我们逐一解析这个压缩包中的四个...

    usaco-java-gold

    在这个“usaco-java-gold”主题中,我们将深入探讨Java在USACO黄金级别比赛中的应用,以及如何解决相关问题。 一、Java语言基础 1. 类与对象:Java是一种面向对象的语言,理解和熟练运用类和对象是解决USACO问题的...

    Notes-USACO-2021-弹簧

    本压缩包“Notes-USACO-2021-Spring”中的笔记主要聚焦于2021年春季训练营和比赛的知识点,对于想要深入学习算法和提升编程能力的爱好者来说,具有极高的学习价值。 笔记内容可能包括但不限于以下几个方面: 1. **...

    USACO题解+程序

    我的USACO题解和程序

    USACO-Chapter1.rar_it_usaco

    《USACO入门指南——第一章解析》 USACO,全称USA Computing Olympiad,是美国计算机奥林匹克竞赛,旨在培养中学生在算法和编程方面的技能。对于初学者来说,USACO提供了很好的学习路径和挑战。本文将针对USACO的第...

    USACO Results Analytics-crx插件

    分析USACO比赛结果。 根据数据绘制一些图表。 此扩展程序从USACO竞赛结果页面收集数据,并构建漂亮的图形以更好地了解参与者,国家和分数。 使用d3.js和nvd3.js库进行绘制。 使用方法:只需进入USACO竞赛结果页面,...

Global site tag (gtag.js) - Google Analytics