• 2013暑假江西联合训练赛 -- by jxust_acm 解题报告


    第6题是利用周期性求解,
    第7题是 (总的序列长度-最长的满足要求的序列长度)
    第8题是 设定起点,可以找到最早出现的不满足条件,然后后面都是不满足的,利用队列求解这个过程

    大神给的简单,精炼的题解。

    1. 消除之王

    数据量为4*4,所以直接暴力dfs的层数不会超过8层,也就是dfs的复杂度为8!,然后加上一些模拟掉落的操作,总的复杂度也不会大。

    2. NC

    大数开根求整数部分。 网上大神有直接的模板

    附模板一份:


    #include <stdio.h>
    #include <string.h>
    int l;int work(int o,char *O,
    int I) {char c, *D=O ;if(o>0){
    for(l=0;D[l              ];D[l
    ++]-=10){D   [l++]-=120;D[l]-=
    110;while   (!work(0,O,l))D[l]
    +=   20;   putchar((D[l]+1032)
    /20   )   ;}putchar(10);}else{
    c=o+     (D[I]+82)%10-(I>l/2)*
    (D[I-l+I]+72)/10-9;D[I]+=I<0?0
    :!(o=work(c/10,O,I-1))*((c+999
    )%10-(D[I]+92)%10);}return o;}
    int main(){char s[3000];while(
    scanf("%s",s+1)!=EOF){s[0]='0';
    if(strlen(s)%2 == 1)work(2,s+1
    ,0);else work(2,s,0);}}//ubuntu


    然后这题时限给的很松,用大数二分的方法也可以解决。如果要模拟大数操作,那么要注意优化问题。

    3.找回文

    比较基础的一道题目,解决的方法很多,可以用manacher,kmp,或者扩展kmp。如果搞懂了这几个算法的性质,那么稍加改动就可以解决这个问题。

    4.二进制求和
    树状数组,线段树都可以解决,不过注意乘2操作是没有实际意义的。

    5. 开学了

    用最小费用最大流可以解决。
    建图的方法是:
    首先建立一个源点s和一个汇点t。
    然后从源点到每个作业i都添加一条容量为1,费用为-Ai的边
    然后对于每个Bij都建立一条从i到n+j容量为1,费用为bij的边
    对于每个老师都建立一条从n+j(j为老师的标号)到t容量为k,费用为0的边
    因为作业可做可不做,所以每个作业i都添加一条从i到t容量为1,费用为0的边
    最后直接用最小费用最大流模板即可。

     比赛已重挂。要代码,或数据的可以吼一声。 举办一场比赛不容易,有错误或者遗漏敬请大家原谅。

    还有三题等会继续更新!

  • 相关阅读:
    数据库中两张表之间的数据同步实现思路(增加、删除、更新)Mysql、sqlserver
    多台服务器之间如何让sqlserver,mysql数据库进行数据同步?
    mysql数据库同步时数据一致性的配置优化
    mysql 、sqlserver数据库,实时同步,增量同步(脚本模式)
    SyncNavigator 注册机 使用教程
    SyncNavigator数据库同步软件8.4.1 中文版
    HKROnline SyncNavigator破解版企业版 8.4.1 注册机使用教程
    SyncNavigator 破解版8.4.1 企业版 授权注册流程
    浅谈数据库高可用性(HA)技术
    软件工程第七周总结
  • 原文地址:https://www.cnblogs.com/chenhuan001/p/3284747.html
Copyright © 2020-2023  润新知