[多校补题]2017 Multi-University Training Contest 5 solutions BY 吉如一

1006 Rikka with Graph

Rikka with Graph

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 2377    Accepted Submission(s): 766


Problem Description
As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them:

For an undirected graph  G  with  n  nodes and  m  edges, we can define the distance between  (i,j)  ( dist(i,j) ) as the length of the shortest path between  i  and  j . The length of a path is equal to the number of the edges on it. Specially, if there are no path between  i  and  j , we make  dist(i,j)  equal to  n .

Then, we can define the weight of the graph  G  ( wG ) as  ni=1nj=1dist(i,j) .

Now, Yuta has  n  nodes, and he wants to choose no more than  m  pairs of nodes  (i,j)(ij)  and then link edges between each pair. In this way, he can get an undirected graph  G  with  n  nodes and no more than  m  edges.

Yuta wants to know the minimal value of  wG .

It is too difficult for Rikka. Can you help her?  

In the sample, Yuta can choose  (1,2),(1,4),(2,4),(2,3),(3,4) .
 

Input
The first line contains a number  t(1t10) , the number of the testcases. 

For each testcase, the first line contains two numbers  n,m(1n106,1m1012) .
 

Output
For each testcase, print a single line with a single number -- the answer.
 

Sample Input
  
  
1 4 5
 

Sample Output
  
  
14
 
考虑贪心地一条一条边添加进去。

mn1 时,我们需要最小化距离为 nnn 的点对数,所以肯定是连出一个大小为 m+1m+1 的联通块,剩下的点都是孤立点。在这个联通块中,为了最小化内部的距离和,肯定是连成一个菊花的形状,即一个点和剩下所有点直接相邻。

m>n−1m > n-1 时,肯定先用最开始 n1 条边连成一个菊花,这时任意两点之间距离的最大值是 22。因此剩下的每一条边唯一的作用就是将一对点的距离缩减为 11

这样我们就能知道了最终图的形状了,稍加计算就能得到答案。要注意 mm 有可能大于 n(n1)​/2。

WA在了int*int的结果也会是int需要强转成longlong。。。

#include<bits/stdc++.h>
using namespace std;

int main(){
    int t;
    while(~scanf("%d",&t)){
        while(t--){
            long long n;
            long long m;
            scanf("%lld%lld",&n,&m);
            long long res=0;
            if(m<n){
                long long temp=(n-m-1)*n;
                res=(temp+m)+(2*m-1+temp)*m+temp*(n-1);            
            }
            else{
                res = n-1+(1+2*(n-2))*(n-1)-2*(m-n+1);
                if(res<n*(n-1)){
                    res=n*(n-1);
                }
            }
            printf("%lld\n",res);    
        }
    }
    return 0;
}


1008 Rikka with Subset

Rikka with Subset

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 2481    Accepted Submission(s): 496


Problem Description
As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them:

Yuta has  n  positive  A1An  and their sum is  m . Then for each subset  S  of  A , Yuta calculates the sum of  S

Now, Yuta has got  2n  numbers between  [0,m] . For each  i[0,m] , he counts the number of  i s he got as  Bi .

Yuta shows Rikka the array  Bi  and he wants Rikka to restore  A1An .

It is too difficult for Rikka. Can you help her?  
 

Input
The first line contains a number  t(1t70) , the number of the testcases. 

For each testcase, the first line contains two numbers  n,m(1n50,1m104) .

The second line contains  m+1  numbers  B0Bm(0Bi2n) .
 

Output
For each testcase, print a single line with  n  numbers  A1An .

It is guaranteed that there exists at least one solution. And if there are different solutions, print the lexicographic minimum one.
 

Sample Input
  
  
2 2 3 1 1 1 1 3 3 1 3 3 1
 

Sample Output
  
  
1 2 1 1 1
Hint
In the first sample, $A$ is $[1,2]$. $A$ has four subsets $[],[1],[2],[1,2]$ and the sums of each subset are $0,1,2,3$. So $B=[1,1,1,1]$

题意:

有两个数组a[ ]和b[ ],给出两个数n和m,表示a[ ]中有 n 个数,所有数之和为 m ,然后又给出了b[ ]数组,b[ x ]数组中装的是a[ ]中和为 x 的子集个数。例如:a[ ]数组为[ 1,2 ];那么它的子集有[ ],[ 1 ],[ 2 ],[ 1,2 ];这些子集的和分别为 0,1,2,3;所以b[ 0 ]=1,b[ 1 ]=1,b[ 2 ]=1,b[ 3 ]=1;现在给你b[]数组,让你求a[ ]数组。

网上的思路:

对于数组b,除了b[0]外,第一个值不为零的b[i],在a数组里一定存在,且存在的个数就为b[i]个,因为a的子串包括那些只含有a数组某一个元素的,这些子串的和只有那一个元素的值,往往较小排在前面,这时候至少可以确定一个a中的元素,现在要做的是把这已经个确定的元素拿出来,并且对b进行操作,处理成除去 拿出去的那个元素 后,b数组继续满足原先的定义,就像刚开始那个元素就没有出现过一样。这个时候我们就可以重复上述的步骤,直到取出a数组中的全部元素。
下面的问题就是怎么对b数组进行处理:和为j的(总)组合数=和为j的组合数(含有i元素)+和为j的组合数(不含有i元素)我们的目的就是把各项处理成 和为j的组合数(不含有i元素) 的那种。和为j的(总)组合数为处理前的状态,已知。下面就是确定和为j的组合数(含有i元素)了,而 和为j的组合数(含有i元素)为 b[j-i] 个,因为有几种值为j的情况 可以由(j-i)+i得到,那么就有多种 和为j的组合数(含有i元素) ,所以为b[j-i]个。有 b[j]=b[j]-b[j-i];这一个等式 就可以了。

官方思路:

签到题,大致的思想就是反过来的背包。

如果 BiBBB 数组中除了 B0 以外第一个值不为 0 的位置,那么显然 i 就是 AA中的最小数。现在需要求出删掉 i 后的 B 数组,过程大概是反向的背包,即从小到大让 Bj=Bji。时间复杂度 O(nm)

#include<bits/stdc++.h>
using namespace std;
int b[10050];
int a[600];
int main()
{
    int T, n, m, k;
    scanf("%d", &T);
    while(T--)
    {
        k = 0;
        scanf("%d%d", &n, &m);
        for(int i = 0; i <= m; i++)
            scanf("%d", &b[i]);
        for(int i = 1; i <= m; )
        {
            if(k >= n)
                break;
            if(i <= 0)
                continue;
            if(b[i] != 0)
            {
                a[k++] = i;
                for(int j = i; j <= m; j++)
                    b[j] = b[j] - b[j - i];
            }
            else
                i++;
        }
        printf("%d", a[0]);
        for(int i = 1; i < k; i++)
            printf(" %d", a[i]);
        printf("\n");
    }

}


1011 Rikka with Competition

临时加的签到题。把 ai 从大到小排序,那么第 iii 强人要获胜,最优情况下是最强的人输给了第二强的人,第二强的人输给了第三强的人,以此类推。因此只需要判断排序后  maxj<i(ajaj+1)KK 的大小关系即可。

时间复杂度 O(nlogn)

#include<cstdio>
#include<cstring>
#include<vector>
#include<queue>
#include <iostream>
#include <algorithm>
#define ll long long
using namespace std;
const int maxn = 100005;
ll a[maxn];
bool cmp(ll a,ll b){
    return b<a;
}
int main(){
    std::ios::sync_with_stdio(false);
    ll t,n,k,temp;
    int ans;
    cin>>t;
    while(t--){
        ans = 0;
        cin>>n>>k;
        for(int i=0;i<n;i++){
            cin>>a[i];
        }
        sort(a,a+n,cmp);
//        for(int i=0;i<n;i++){
//            cout<<a[i]<<" ";
//        }
//        cout<<endl;
        ans = 1;
        temp = a[0];
        for(int i=1;i<n;i++){
            if(temp-a[i]<=k){
                ans++;
                temp = a[i];
            }else{
                break;
            }
        }
        cout<<ans<<endl;
    }
    return 0;
}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# 国家集训队论文列表(1999-2019) ___点击目录快速跳转:___ - _国家集训队论文列表(1999-2019)_ * [_1999_](#1999) * [_2000_](#2000) * [_2001_](#2001) * [_2002_](#2002) * [_2003_](#2003) * [_2004_](#2004) * [_2005_](#2005) * [_2006_](#2006) * [_2007_](#2007) * [_2008_](#2008) * [_2009_](#2009) * _2010~2012:组委会暂停论文答辩项目_ * [_2013_](#2013) * [_2014_](#2014) * [_2015_](#2015) * [_2016_](#2016) * [_2017_](#2017) * [_2018_](#2018) * [_2019_](#2019) - _论文分类汇总(1999-2009)_ * [组合数学](#组合数学) + [计数与统计](#计数与统计) + [数位问](#数位问) + [动态统计](#动态统计) + [博弈](#博弈) + [母函数](#母函数) + [拟阵](#拟阵) + [线性规划](#线性规划) + [置换群](#置换群) + [问答交互](#问答交互) + [猜数问](#猜数问) * [数据结构](#数据结构) + [数据结构](#数据结构-1) + [结构联合](#结构联合) + [块状链表](#块状链表) + [动态树](#动态树) + [左偏树](#左偏树) + [跳表](#跳表) + [SBT](#sbt) + [线段树](#线段树) + [单调队列](#单调队列) + [哈希表](#哈希表) + [Splay](#splay) * [图论](#图论) + [图论](#图论-1) + [模型建立](#模型建立) + [网络流](#网络流) + [最短路](#最短路) + [欧拉路](#欧拉路) + [差分约束系统](#差分约束系统) + [平面图](#平面图) + [2-SAT](#2-sat) + [最小生成树](#最小生成树) + [二分图](#二分图) + [Voronoi图](#voronoi图) + [偶图](#偶图) * [树](#树) + [树](#树-1) + [路径问](#路径问) + [最近公共祖先](#最近公共祖先) + [划分问](#划分问) * [数论](#数论) + [欧几里得算法](#欧几里得算法) + [同余方程](#同余方程) * [搜索](#搜索) + [搜索](#搜索-1) + [启发式](#启发式) + [优化](#优化) * [背包问](#背包问) * [匹配](#匹配) * [概率](#概率) + [概率](#概率-1) + [数学期望](#数学期望) * [字符串](#字符串) + [字符串](#字符串-1) + [多串匹配](#多串匹配) + [后缀数组](#后缀数组) + [字符串匹配](#字符串匹配) * [动态规划](#动态规划) + [动态规划](#动态规划-1) + [状态压缩](#状态压缩) + [状态设计](#状态设计) + [树形DP](#树形dp) + [优化](#优化-1) * [计算几何](#计算几何) + [立体几何](#立体几何) + [计算几何思想](#计算几何思想) + [圆](#圆) + [半平面交](#半平面交) * [矩阵](#矩阵) + [矩阵](#矩阵-1) + [高斯消元](#高斯消元) * [数学方法](#数学方法) + [数学思想](#数学思想) + [数学归纳法](#数学归纳法) + [多项式](#多项式) + [数形结合](#数形结合) + [黄金分割](#黄金分割) * [其他算法](#其他算法) + [遗传算法](#遗传算法) + [信息论](#信息论) + [染色与构造](#染色与构造) * [一类问](#一类问) + [区间](#区间) + [序](#序) + [系](#系) + [物理问](#物理问) + [编码与译码](#编码与译码) + [对策问](#对策问) * [优化](#优化-2) + [算法优化](#算法优化) + [程序优化](#程序优化) + [语言](#语言) * [策略](#策略) + [策略](#策略-1) + [倍增](#倍增) + [二分](#二分) + [调整](#调整) + [随机化](#随机化) + [非完美算法](#非完美算法) + [提交答案](#提交答案) + [守恒思想](#守恒思想) + [极限法](#极限法) + [贪心](#贪心) + [压缩法](#压缩法) + [逆向思维](#逆向思维) + [穷举](#穷举) + [目标转换](#目标转换) + [类比](#类比) + [分割与合并](#分割与合并) + [平衡思想](#平衡思想) Table of contents generated with markdown-toc --- ## 1999 陈 宏 -《数据结构的选择与算法效率——从IOI98试PICTURE谈起》 来煜坤 -《把握本质,灵活运用——动态规划的深入探讨》 齐 鑫 -《搜索方法中的剪枝优化》 邵 铮 -《数学模型的建立、比较和应用》 石润婷 -《隐蔽化、多维化、开放化──论当今信息学竞赛中数学建模的灵活性》 杨 帆 -《准确性、全面性、美观性——测试数据设计中的三要素》 周咏基 -《论随机化算法的原理与设计》 ## 2000 陈 彧 《信息学竞赛中的思维方法》 方 奇 《动态规划》 高寒蕊 -《递推关系的建立及在信息学竞赛中的应用》 郭 一 -《数学模型及其在信息学竞赛中的应用》 江 鹏 -《探索构造法解模式》 李 刚 -《动态规划的深入讨论》 龙 翀 -《解决空间规模问的几种常用的存储结构》 骆 骥 -《数学模型的建立和选择》 施 遥 -《人工智能在围棋程序中的应用》 肖 洲 -《数据结构的在程序设计中的应用》 谢 婧 -《规模化问的解策略》 徐 串 -《论程序的调试技巧》 徐 静 -《图论模型的建立与转化》 杨江明 -《论数学策略在信息学问中的应用》 杨 培 -《非最优化算法初探》 张 辰 -《动态规划的特点及其应用》 张 力 -《类比思想在解中的应用》 张一飞 -《冗繁削尽留清瘦——浅谈信息的充分利用》 ## 2001 高寒蕊 -《从圆桌问谈数据结构的综合运用》 符文杰 -《Pólya原理及其应用》 高 岳 -《中等硬度解报告》 江 鹏 -《从一道目的解法试谈网络流的构造与算法》 刘汝佳 -《搬运工问的启示》 李益明 -《计算几何的相关问》 李 源 -《树的枚举》 骆 骥 -《由"汽车问"浅谈深度搜索的一个方面——搜索对象与策略的重要性》 毛子青 -《动态规划算法的优化技巧》 俞 玮 -《基本动态规划问的扩展》 张一飞 -《求N!的高精度算法》 ## 2002 戴德承 -《退一步海阔天空——"目标转化思想"的若干应用》 方 奇 -《浅谈必要条件的应用》 符文杰 -《排序网络》 何江舟 -《用高斯消元法解线性方程组》 何 林 -《猜想及其应用》 黄 芸 -《POI0110 跳舞蝇》 金 恺 -《浅谈网络流算法的应用》 李澎煦 -《半平面交的算法及其应用》 李 睿 -《二分法与统计问》 骆 骥 -《浅析解 "对策问" 的两种思路——从《取石子》问谈起》 孙方成 -《偶图的算法及应用》 孙林春 -《让我们做得更好——从《Parity》的解法谈程序的优化》 王知昆 -《搜索顺序的选择》 许智磊 -《二分,再二分!――从Mobiles(IOI 2001)一看多重二分》 杨旻旻 -《构造法——解的最短路径》 张家琳 -《多项式乘法》 张 宁 -《遗传算法的特点及其应用》 张一飞 -《由感性认识到理性认识——透析一类搏弈游戏的解答过程》 周文超 -《树结构在程序设计中的运用》 ## 2003 方 奇 -《染色法和构造法在棋盘上的应用》 高正宇 -《答案只有一个——浅谈问答式交互问》 何 林 -《一类称球问的解法》 侯启明 -《信息论在信息学竞赛中的简单应用》 姜尚仆 -《模线性方程的应用——用数论方法解决整数问》 金 恺 -《探寻深度优先搜索中的优化技巧——从正方形剖分问谈起》 雷环中 -《结果提交类问》 林希德 -《求最大重复子串》 刘才良 -《平面图在信息学中的应用》 刘一鸣 -《一类搜索的优化思想——数据有序化》 陆可昱 -《长方体体积并》 饶向荣 -《病毒的DNA——剖析一道字符匹配问解析过程》 邵烜程 -《数学思想助你一臂之力》 王知昆 -《浅谈用极大化思想解决最大子矩形问》 伍 昱 -《由对称性解2-SAT问》 项荣璟 -《充分利用问性质——例析动态规划的"个性化"优化》 许智磊 -《浅谈集转化思想在统计问中的应用》 张 宁 -《猜数问的研究》 张云亮 -《论对算法的选择》 周 源 -《浅析"最小表示法"思想在字符串循环同构问中的应用》 ## 2004 何 林 -《信息学中守恒法的应用》 胡伟栋 -《减少冗余与算法优化》 金 恺 -《极限法——解决几何最优化问的捷径》 李锐喆 -《细节——不可忽视的要素》 鬲 融 -《浅谈特殊穷举思想的应用》 周 源 -《浅谈数形结合思想在信息学竞赛中的应用》 朱晨光 -《优化,再优化!》 肖 天 -《"分层图思想"及其在信息学竞赛中的应用》 汪 汀 -《最小生成树问的拓展》 吴景岳 -《最小生成树算法及其应用》 栗 师 -《转化目标在解中的应用》 薛 矛 -《解决动态统计问的两把利刃》 黄源河 -《浅谈图论模型的建立与应用》 楼天城 -《匹配算法在搜索问中的应用》 贝小辉 -《浅析树的划分问》 林 涛 -《线段树的应用》 杨思雨 -《伸展树的基本操作与应用》 许智磊 -《后缀数组》 朱泽园 -《多串匹配算法及其启示》 韩文弢 -《论C++语言在信息学竞赛中的应用》 ## 2005 龙 凡 -《序的应用》 魏 冉 -《浅谈“跳跃表”的相关操作及其应用》 任 恺 -《图论的基本思想及方法》 杨 俊 -《二分策略在信息学竞赛中的应用》 张伟达 -《用改进算法的思想解决规模维数增大的问》 黄 刚 -《数据结构的联合》 杨 弋 -《从“小H的小屋”的解法谈算法的优化》 朱晨光 -《浅析倍增思想在信息学竞赛中的应用》 李羽修 -《Hash函数的设计优化》 王 俊 -《浅析二分图匹配在信息学竞赛中的应用》 唐文斌 -《正难则反——浅谈逆向思维在解中的应用》 黄源河 -《左偏树的特点及其应用》 钱自强 -《遗传算法应用的分析与研究》 杨思雨 -《浅谈“黄金分割”和信息学的联系》 潘震皓 -《置换群快速幂运算研究与探讨》 胡伟栋 -《非完美算法在信息学竞赛中的应用》 何 林 -《数据关系的简化》 汪 汀 -《参数搜索的应用》 周 源 -《浅谈信息学竞赛中的“压缩法”》 朱泽园 -《回到起点 ----《一种突破性思维》 ## 2006 陈启峰 -《“约制、放宽”方法在解中的应用》 陈首元 -《维护森林连通性——动态树》 冯 威 -《数与图的完美结合——浅析差分约束系统》 高逸涵 -《对于一道目的深入分析》 胡伟栋 -《演讲的若干建议》 黄劲松 -《贪婪的动态规划》 黄晓愉 -《深度优先搜索问的优化技巧》 贾 由 -《由图论算法浅析算法优化》 李天翼 -《从特殊情况考虑》 龙 凡 -《一类猜数问的研究》 汤 泽 -《浅析队列在一类单调性问中的应用》 唐文斌 -《“调整”思想在信息学中的应用》 汪 晔 -《信息学中的参考系与坐标系》 王 栋 -《浅析平面Voronoi图的构造及应用》 王 赟 -《Trie图的构建、活用与改进》 余远铭 -《最短路算法及其应用》 俞 鑫 -《棋盘中的棋盘——浅谈棋盘的分割思想》 周戈林 -《浅谈类比思想》 周以苏 -《论反汇编在时间常数优化中的应用》 朱晨光 -《基本数据结构在信息学竞赛中的应用》 朱泽园 -《半平面交的新算法及其实用价值》 ## 2007 高逸涵 -《与圆有关的离散化》 王晓珂 -《解析一类组合游戏》 仇荣琦 -《欧拉回路性质与应用探究》 余江伟 -《如何解决动态统计问》 杨 沐 -《浅析信息学中的“分”与“合”》 李宇骞 -《浅谈信息学竞赛中的线性规划——简洁高效的单纯形法实现与应用》 袁昕颢 -《动态树及其应用》 杨 哲 -《凸完全单调性的加强与应用》 王欣上 -《浅谈基于分层思想的网络流算法》 陈启峰 -《Size Balanced Tree》 杨 弋 -《Hash在信息学竞赛中的一类应用》 古 楠 -《平面嵌入》 郭华阳 -《RMQ与LCA问》 刘雨辰 -《对拟阵的初步研究》 陈 雪 -《问中的变与不变》 何 森 -《浅谈数据的合理组织》 胡伯涛 -《最小割模型在信息学竞赛中的应用》 陈瑜希 -《多角度思考创造性思维——运用树型动态规划解的思路和方法探析》 周 冬 -《生成树的计数及其应用》 刘家骅 -《浅谈随机化在信息学竞赛中的应用》 ## 2008 曹钦翔 -《数据结构的提炼与压缩》 郑 暾 -《平衡规划——浅析一类平衡思想的应用》 刘 弈 -《浅谈信息学中状态的合理设计与应用》 顾 研 -《浅谈随机化思想在几何问中的应用》 周梦宇 -《码之道——浅谈信息学竞赛中的编码与译码问》 肖汉骏 -《例谈信息学竞赛分析中的“深”与“广”》 方 戈 -《浅析信息学竞赛中一类与物理有关的问》 吕子鉷 -《浅谈最短径路问中的分层思想》 周小博 -《浅谈信息学竞赛中的区间问》 俞华程 -《矩阵乘法在信息学中的应用》 程芃祺 -《计算几何中的二分思想》 高逸涵 -《部分贪心思想在信息学竞赛中的应用》 **陈丹琦 -《基于连通性状态压缩的动态规划问》** 张煜承 -《一类算法复合的方法》 陈瑜希 -《Pólya计数法的应用》 余林韵 -《运用化归思想解决信息学中的数列问》 任一恒 -《非完美算法初探》 高亦陶 -《从立体几何问看降低编程复杂度》 **苏 煜 -《对块状链表的一点研究》** 周 冬 -《两极相通——浅析最大—最小定理在信息学竞赛中的应用》 ## 2009 武 森 -《浅谈信息学竞赛中的“0”和“1”》 **贾志豪 -《组合游戏略述——浅谈SG游戏的若干拓展及变形》** 徐持衡 -《浅谈几类背包》 骆可强 -《论程序底层优化的一些方法与技巧》 刘 聪 -《浅谈数位类统计问》 **李骥扬 -《线段跳表——跳表的一个拓展》** 汤可因 -《浅析竞赛中一类数学期望问的解决方法》 徐源盛 -《对一类动态规划问的研究》 张昆玮 -《数学归纳法与解之道》 漆子超 -《分治算法在树的路径问中的应用》 罗穗骞 -《后缀数组——处理字符串的有力工具》 **方展鹏 -《浅谈如何解决不平等博弈问》** 姜碧野 -《SPFA算法的优化及应用》 **毛杰明 -《母函数的性质及应用》** 董华星 -《浅析字母树在信息学竞赛中的应用》 梅诗珂 -《信息学竞赛中概率问求解初探》 高逸涵 -《数位计数问解法研究》 周而进 -《浅谈估价函数在信息学竞赛中的应用》 金 斌 -《欧几里得算法的应用》 曹钦翔 -《从“k倍动态减法游戏”出发探究一类组合游戏问》 ## 2010~2012:组委会暂停论文答辩项目 ## 2013 彭天翼 -《登顶计划》 王康宁 -《方格取数》 罗 干 -《Two strings 试讨论》 张闻涛 -《Catch The Penguins》 罗剑桥 -《浅谈分块思想在一类数据处理问中的应用》 乔明达 -《搜索问中的meet in the middle技巧》 胡渊鸣 -《浅析信息学竞赛中概率论的基础与应用》 许昊然 -《浅谈数据结构的几个非经典解法》 陈立杰 -《重量平衡树和后缀平衡树在信息学奥赛中的应用》 高胜寒 -《浅谈环状计数问》 王子昱 -《分块方法的应用》 王 迪 -《浅谈容斥原理》 ## 2014 王子昱 -《MSS 命报告》 余行江 -《矩阵 命报告》 董宏华 -《多变的多边形》 岑若虚 -《对置换群有关算法的初步研究》 匡正非 -《浅谈线性相关》 张恒捷 -《关于三维最小乘积生成树的一些研究》 徐 毅 -《浅谈回文子串问》 梁泽宇 - 《浅谈维护多维数组的方法在数据结构中的应用》 **王悦同 -《根号算法——不只是分块》** **黄志翱 -《浅谈动态树的相关问及简单拓展》** **胡泽聪 -《随机化算法在信息学竞赛中的应用》** **何 琦 -《精细地实现程序——浅谈OI竞赛中的常数优化》** **沈 洋 -《回归本源——位运算及其应用》** **俞鼎力 -《寻找第 k 优解的几种方法》** ## 2015 刘研绎 -《后缀自动机在字典树上的拓展》 **任之洲 -《浅谈启发式思想在信息学竞赛中的应用》** 王鉴浩 -《浅谈字符串匹配的几种方法》 张天扬 -《后缀自动机及其应用》 金 策 -《生成函数的运算与组合计数问》 刘剑成 -《YDC的奖金命报告》 邹逍遥 -《浅谈分块在一类在线问中的应用》 王逸松 -《仙人掌相关算法及其应用》 陈胤伯 -《浅谈图的匹配算法及其应用》 陈思禹 -《浅谈信息学竞赛中的物理问》 于纪平 -《丢失的面命报告》 张恒捷 -《DP的一些优化技巧》 杜瑜皓 -《Product命报告》 卢啸尘 -《关于以源代码为输入的一类问的初步探索》 吕凯风 -《集合幂级数的性质与应用及其快速算法》 ## 2016 **任之洲 -《积性函数求和的几种方法》** **姜志豪 -《网络流的一些建模方法》** 董克凡 -《浅谈线性规划与对偶问》 王文涛 -《浅谈无向图最小割问的一些算法及应用》 邹逍遥 -《浅谈线性规划在信息学竞赛中的应用》 **如一 -《区间最值操作与历史最值问》** **毛 啸 -《再探快速傅里叶变换》** **罗哲正 -《从Unknown谈一类支持末尾插入删除的区间信息维护方法》** 洪华敦 -《小C的后缀数组命报告》 张浩威 -《消消看 命报告》 李子豪 -《《strakf》命报告》 汪文潇 -《《过去的集合》命报告》 **吴作凡 -《火车司机出秦川 命报告》** 金 策 -《基础排序算法练习》 袁宇韬 -《move命报告》 ## 2017 毛 啸 -《关于数列递归式的一些研究》 **杨家齐 -《基于线性代数的一般图匹配》** 袁宇韬 -《多项式求和》 **钟知闲 -《浅谈信息学竞赛中的独立集问》** 陈俊锟 -《“神奇的子图”命报告及其拓展》 孙耀峰 -《动态传递闭包问的探究》 汪乐平 -《“A+B Problem”命报告》 **徐明宽 -《非常规大小分块算法初探》** 翁文涛 -《回文树及其应用》 闫书弈 -《“黑白树”命报告》 杨景钦 -《“正多边形”命报告》 冯 哲 -《浅谈决策单调性动态规划的线性解法》 沈 睿 -《“被操纵的线段树”命报告》 赵晟宇 -《计算机逻辑与艺术初探——基于逻辑的钢琴演奏音符力度模型》 洪华敦 -《“基因组重构”命报告》 ## 2018 杨懋龙 - 《浅谈生成函数在掷骰子问上的应用》 陈江伦 - 《“后缀树结点数”命报告及一类区间问的优化》 高睿泉 - 《浅谈保序回归问》 吴瑾昭 - 《“Fim 4”命报告》 任轩笛 - 《解决树上连通块问的一些技巧和工具》 梁晏成 - 《“Jellyfish”命报告及拓展探究》 王思齐 - 《LeafyTree及其实现的加权平衡树》 陈嘉乐 - 《“小H爱染色”命报告》 朱震霆 - 《一些特殊的数论函数求和问》 刘承奥 - 《浅谈DFT在信息学竞赛中的应用》 林旭恒 - 《“完美的队列”命报告》 杨乾澜 - 《浅谈拟阵的一些拓展及其应用》 董炜隽 - 《浅谈Splay与Treap的性质及其应用》 何中天 - 《“最小方差生成树”命报告》 陈 通 - 《欧拉图相关的生成与计数问探究》 ## 2019 钟子谦 - 《两类递推数列的性质和应用》 王修涵 - 《浅谈图模型上的随机游走问》 杨骏昭 - 《“小水”命报告》 高嘉煊 - 《浅谈图的点着色问》 戴 言 - 《浅谈格路计数相关问》 李佳衡 - 《算法竞赛中一些数论问的推广与高斯整数初探》 范致远 - 《“基础圆方树练习”命报告》 徐翊轩 - 《“整点计数”命报告以及对高斯整数的若干研究》 张哲宇 - 《浅谈树上分治算法》 吴思扬 - 《“组合数求和”命报告》 王思齐 - 《浅谈一类简洁数据结构》 陈孙立 - 《子串周期查询问的相关算法及其应用》 吴作同 - 《“公园”命报告》 孔朝哲 - 《浅谈可追溯化数据结构》 袁方舟 - 《浅谈杨氏矩阵在信息学竞赛中的应用》 ## 推荐文章 许智磊 -《后缀数组》 罗穗骞 -《后缀数组——处理字符串的有力工具》 朱泽园 -《半平面交的新算法及其实用价值》 胡伯涛 -《最小割模型在信息学竞赛中的应用》 方展鹏 -《浅谈如何解决不平等博弈问》 陈丹琦 -《基于连通性状态压缩的动态规划问》 贾志豪 -《组合游戏略述——浅谈SG游戏的若干拓展及变形》 武 森 -《浅谈信息学竞赛中的“0”和“1”》 李骥扬 -《线段跳表——跳表的一个拓展》 周 源 -《浅析"最小表示法"思想在字符串循环同构问中的应用》 高逸涵 -《数位计数问解法研究》 张昆玮 -《数学归纳法与解之道》 漆子超 -《分治算法在树的路径问中的应用》 俞华程 -《矩阵乘法在信息学中的应用》 陈瑜希 -《Pólya计数法的应用》 # 论文分类汇总(1999-2009) ## 组合数学 ### 计数与统计 2001 - 符文杰:《Pólya原理及其应用》 2003 - 许智磊:《浅谈集转化思想在统计问中的应用》 2007 - 周冬:《生成树的计数及其应用》 2008 - 陈瑜希《Pólya计数法的应用》 ### 数位问 2009 - 高逸涵《数位计数问解法研究》 2009 - 刘聪《浅谈数位类统计问》 ### 动态统计 2004 - 薛矛:《解决动态统计问的两把利刃》 2007 - 余江伟:《如何解决动态统计问》 ### 博弈 2002 - 张一飞:《由感性认识到理性认识——透析一类搏弈游戏的解答过程》 2007 - 王晓珂:《解析一类组合游戏》 2009 - 曹钦翔《从“k倍动态减法游戏”出发探究一类组合游戏问》 2009 - 方展鹏《浅谈如何解决不平等博弈问》 2009 - 贾志豪《组合游戏略述——浅谈SG游戏的若干拓展及变形》 ### 母函数 2009 - 毛杰明《母函数的性质及应用》 ### 拟阵 2007 - 刘雨辰:《对拟阵的初步研究》 ### 线性规划 2007 - 李宇骞:《浅谈信息学竞赛中的线性规划——简洁高效的单纯形法实现与应用》 ### 置换群 2005 - 潘震皓:《置换群快速幂运算研究与探讨》 ### 问答交互 2003 - 高正宇:《答案只有一个——浅谈问答式交互问》 ### 猜数问 2003 - 张宁:《猜数问的研究:一的推广》 2006 - 龙凡:《一类猜数问的研究》 ## 数据结构 ### 数据结构 2005 - 何林:《数据关系的简化》 2006 - 朱晨光:《基本数据结构在信息学竞赛中的应用》 2007 - 何森:《浅谈数据的合理组织》 2008 - 曹钦翔《数据结构的提炼与压缩》 ### 结构联合 2001 - 高寒蕊:《从圆桌问谈数据结构的综合运用》 2005 - 黄刚:《数据结构的联合》 ### 块状链表 2005 - 蒋炎岩:《数据结构的联合——块状链表》 2008 - 苏煜《对块状链表的一点研究》 ### 动态树 2006 - 陈首元:《维护森林连通性——动态树》 2007 - 袁昕颢:《动态树及其应用》 ### 左偏树 2005 - 黄源河:《左偏树的特点及其应用》 ### 跳表 2005 - 魏冉:《让算法的效率“跳起来”!——浅谈“跳跃表”的相关操作及其应用》 2009 - 李骥扬《线段跳表——跳表的一个拓展》 ### SBT 2007 - 陈启峰:《Size Balance Tree》 ### 线段树 2004 - 林涛:《线段树的应用》 ### 单调队列 2006 - 汤泽:《浅析队列在一类单调性问中的应用》 ### 哈希表 2005 - 李羽修:《Hash函数的设计优化》 2007 - 杨弋:《Hash在信息学竞赛中的一类应用》 ### Splay 2004 - 杨思雨:《伸展树的基本操作与应用》 ## 图论 ### 图论 2005 - 任恺:《图论的基本思想及方法》 ### 模型建立 2004 - 黄源河:《浅谈图论模型的建立与应用》 2004 - 肖天:《“分层图思想”及其在信息学竞赛中的应用》 ### 网络流 2001 - 江鹏:《从一道目的解法试谈网络流的构造与算法》 2002 - 金恺:《浅谈网络流算法的应用》 2007 - 胡伯涛:《最小割模型在信息学竞赛中的应用》 2007 - 王欣上:《浅谈基于分层思想的网络流算法》 2008 - 周冬《两极相通——浅析最大—最小定理在信息学竞赛中的应用》 ### 最短路 2006 - 余远铭:《最短路算法及其应用》 2008 - 吕子鉷《浅谈最短径路问中的分层思想》 2009 - 姜碧野《SPFA算法的优化及应用》 ### 欧拉路 2007 - 仇荣琦:《欧拉回路性质与应用探究》 ### 差分约束系统 2006 - 冯威:《数与图的完美结合——浅析差分约束系统》 ### 平面图 2003 - 刘才良:《平面图在信息学中的应用》 2007 - 古楠:《平面嵌入》 ### 2-SAT 2003 - 伍昱:《由对称性解2-SAT问》 ### 最小生成树 2004 - 吴景岳:《最小生成树算法及其应用》 2004 - 汪汀:《最小生成树问的拓展》 ### 二分图 2005 - 王俊:《浅析二分图匹配在信息学竞赛中的应用》 ### Voronoi图 2006 - 王栋:《浅析平面Voronoi图的构造及应用》 ### 偶图 2002 - 孙方成:《偶图的算法及应用》 ## 树 ### 树 2002 - 周文超:《树结构在程序设计中的运用》 2005 - 栗师:《树的乐园——一些与树有关的目》 ### 路径问 2009 - 漆子超《分治算法在树的路径问中的应用》 ### 最近公共祖先 2007 - 郭华阳:《RMQ与LCA问》 ### 划分问 2004 - 贝小辉:《浅析树的划分问》 ## 数论 ### 欧几里得算法 2009 - 金斌《欧几里得算法的应用》 ### 同余方程 2003 - 姜尚仆:《模线性方程的应用——用数论方法解决整数问》 ## 搜索 ### 搜索 2001 - 骆骥:《由“汽车问”浅谈深度搜索的一个方面——搜索对象与策略的重要性》 2002 - 王知昆:《搜索顺序的选择》 2005 - 汪汀:《参数搜索的应用》 ### 启发式 2009 - 周而进《浅谈估价函数在信息学竞赛中的应用》 ### 优化 2003 - 金恺:《探寻深度优先搜索中的优化技巧——从正方形剖分问谈起》 2003 - 刘一鸣:《一类搜索的优化思想——数据有序化》 2006 - 黄晓愉:《深度优先搜索问的优化技巧》 ## 背包问 2009 - 徐持衡《浅谈几类背包》 ## 匹配 2004 - 楼天城:《匹配算法在搜索问中的巧用》 ## 概率 ### 概率 2009 - 梅诗珂《信息学竞赛中概率问求解初探》 ### 数学期望 2009 - 汤可因《浅析竞赛中一类数学期望问的解决方法》 ## 字符串 ### 字符串 2003 - 周源:《浅析“最小表示法”思想在字符串循环同构问中的应用》 ### 多串匹配 2004 - 朱泽园:《多串匹配算法及其启示》 2006 - 王赟:《Trie图的构建、活用与改进》 2009 - 董华星《浅析字母树在信息学竞赛中的应用》 ### 后缀数组 2004 - 许智磊:《后缀数组》 2009 - 罗穗骞《后缀数组——处理字符串的有力工具》 ### 字符串匹配 2003 - 饶向荣:《病毒的DNA———剖析一道字符匹配问解析过程》 2003 - 林希德:《求最大重复子串》 ## 动态规划 ### 动态规划 2001 - 俞玮:《基本动态规划问的扩展》 2006 - 黄劲松:《贪婪的动态规划》 2009 - 徐源盛《对一类动态规划问的研究》 ### 状态压缩 2008 - 陈丹琦《基于连通性状态压缩的动态规划问》 ### 状态设计 2008 - 刘弈《浅谈信息学中状态的合理设计与应用》 ### 树形DP 2007 - 陈瑜希:《多角度思考创造性思维——运用树型动态规划解的思路和方法探析》 ### 优化 2001 - 毛子青:《动态规划算法的优化技巧》 2003 - 项荣璟:《充分利用问性质——例析动态规划的“个性化”优化》 2004 - 朱晨光:《优化,再优化!——从《鹰蛋》一浅析对动态规划算法的优化》 2007 - 杨哲:《凸完全单调性的加强与应用》 ## 计算几何 ### 立体几何 2003 - 陆可昱:《长方体体积并》 2008 - 高亦陶《从立体几何问看降低编程复杂度》 ### 计算几何思想 2004 - 金恺:《极限法——解决几何最优化问的捷径》 2008 - 程芃祺《计算几何中的二分思想》 2008 - 顾研《浅谈随机化思想在几何问中的应用》 ### 圆 2007 - 高逸涵:《与圆有关的离散化》 ### 半平面交 2002 - 李澎煦:《半平面交的算法及其应用》 2006 - 朱泽园:《半平面交的新算法及其实用价值》 ## 矩阵 ### 矩阵 2008 - 俞华程《矩阵乘法在信息学中的应用》 ### 高斯消元 2002 - 何江舟:《用高斯消元法解线性方程组》 ## 数学方法 ### 数学思想 2002 - 何林:《猜想及其应用》 2003 - 邵烜程:《数学思想助你一臂之力》 ### 数学归纳法 2009 - 张昆玮《数学归纳法与解之道》 ### 多项式 2002 - 张家琳:《多项式乘法》 ### 数形结合 2004 - 周源:《浅谈数形结合思想在信息学竞赛中的应用》 ### 黄金分割 2005 - 杨思雨:《美,无处不在——浅谈“黄金分割”和信息学的联系》 ## 其他算法 ### 遗传算法 2002 - 张宁:《遗传算法的特点及其应用》 2005 - 钱自强:《关于遗传算法应用的分析与研究》 ### 信息论 2003 - 侯启明:《信息论在信息学竞赛中的简单应用》 ### 染色与构造 2002 - 杨旻旻:《构造法——解的最短路径》 2003 - 方奇:《染色法和构造法在棋盘上的应用》 ## 一类问 ### 区间 2008 - 周小博《浅谈信息学竞赛中的区间问》 ### 序 2005 - 龙凡:《序的应用》 ### 系 2006 - 汪晔:《信息学中的参考系与坐标系》 ### 物理问 2008 - 方戈《浅析信息学竞赛中一类与物理有关的问》 ### 编码与译码 2008 - 周梦宇《码之道—浅谈信息学竞赛中的编码与译码问》 ### 对策问 2002 - 骆骥:《浅析解“对策问”的两种思路》 ## 优化 ### 算法优化 2002 - 孙林春:《让我们做得更好——从解法谈程序优化》 2004 - 胡伟栋:《减少冗余与算法优化》 2005 - 杨弋:《从的解法谈算法的优化》 2006 - 贾由:《由图论算法浅析算法优化》 ### 程序优化 2006 - 周以苏:《论反汇编在时间常数优化中的应用》 2009 - 骆可强《论程序底层优化的一些方法与技巧》 ### 语言 C++ 2004 - 韩文弢:《论C++语言在信息学竞赛中的应用》 ## 策略 ### 策略 2004 - 李锐喆:《细节——不可忽视的要素》 2005 - 朱泽园:《回到起点——一种突破性思维》 2006 - 陈启峰:《“约制、放宽”方法在解中的应用》 2006 - 李天翼:《从特殊情况考虑》 2007 - 陈雪:《问中的变与不变》 2008 - 肖汉骏《例谈信息学竞赛分析中的“深”与“广”》 ### 倍增 2005 - 朱晨光:《浅析倍增思想在信息学竞赛中的应用》 ### 二分 2002 - 李睿:《二分法与统计问》 2002 - 许智磊:《二分,再二分!——从Mobiles(IOI2001)一看多重二分》 2005 - 杨俊:《二分策略在信息学竞赛中的应用》 ### 调整 2006 - 唐文斌:《“调整”思想在信息学中的应用》 ### 随机化 2007 - 刘家骅:《浅谈随机化在信息学竞赛中的应用》 ### 非完美算法 2005 - 胡伟栋:《浅析非完美算法在信息学竞赛中的应用》 2008 - 任一恒《非完美算法初探》 ### 提交答案 2003 - 雷环中:《结果提交类问》 ### 守恒思想 2004 - 何林:《信息学中守恒法的应用》 ### 极限法 2003 - 王知昆:《浅谈用极大化思想解决最大子矩形问》 ### 贪心 2008 - 高逸涵《部分贪心思想在信息学竞赛中的应用》 ### 压缩法 2005 - 周源:《压去冗余缩得精华——浅谈信息学竞赛中的“压缩法”》 ### 逆向思维 2005 - 唐文斌:《正难则反——浅谈逆向思维在解中的应用》 ### 穷举 2004 - 鬲融:《浅谈特殊穷举思想的应用》 ### 目标转换 2002 - 戴德承:《退一步海阔天空——“目标转化思想”的若干应用》 2004 - 栗师:《转化目标在解中的应用》 ### 类比 2006 - 周戈林:《浅谈类比思想》 ### 分割与合并 2006 - 俞鑫:《棋盘中的棋盘——浅谈棋盘的分割思想》 2007 - 杨沐:《浅析信息学中的“分”与“合”》 ### 平衡思想 2008 - 郑暾《平衡规划——浅析一类平衡思想的应用》

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值