又是迷之自信的说。。。估的230,考的50整,我欲上天呐!!!


T1:深渊(怕不是黑暗种族聚集地???)

思路:动归。而且是简单动归。转移方程:Fi,j=max(Fi-1,j,Fi,j,Fi-1,(j-modi+m)%m)其中i表示第i个,j表示此时的余数。

最后答案即为Fi,0

见代码:

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,v[],mod[],dp[][];
int main()
{
freopen("abyss.in","r",stdin);
freopen("abyss.out","w",stdout);
memset(dp,-0x3f3f3f,sizeof(dp));
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
{
scanf("%d",&v[i]);
mod[i]=v[i]%m;
}
dp[][]=;
for(int i=;i<=n;i++)
for(int j=;j<m;j++)
{
dp[i][j]=max(dp[i-][j],dp[i][j]);
dp[i][j]=max(dp[i][j],dp[i-][(j-mod[i]+m)%m]+v[i]);
}
printf("%d",dp[n][]);
return ;
}

好题哉!!!


T2:fight

有一只触手怪,有好多好多触手。(莫不是从诡秘之主里跑出来的)

类似这种:

每条触手上有n条绳子,那是勇士为了杀死他完成工会任务套上的。但是触手怪有一些灵智,所以每两根触手只能绑一根。现给你一种绑法,看是否可行。

思路:贪心,每次从大到小排序,把最大的向下绑好。最后看会不会多出来就可以了。

见代码:

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
int t,n,a[];
bool flag;
bool cmp(int x,int y)
{
return x>y;
}
int main()
{
freopen("fight.in","r",stdin);
freopen("fight.out","w",stdout);
scanf("%d",&t);
for(int k=;k<=t;k++)
{
flag=false;
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
sort(a+,a++n,cmp);
for(int i=;i<=n;i++)
{
int k=;
for(int j=;i+j<=n;j++)
{
if(a[i+j]>)
{
a[i+j]--;
k++;
}
if(k==a[i])
{
break;
}
}
if(k!=a[i])
{
flag=true;
break;
}
sort(a+,a++n,cmp);
}
if(flag==true)
printf("NO\n");
else
printf("YES\n");
}
return ;
}

好题哉!!!


T3:游戏机

思路:拿一个前向星存个图,然后储蓄一下左上到右下,左下到右上的路径长度,即为0或1,因为不可能再走一遍,会诞生环。

然后安心跑最短路,迪杰就可以了,可怜我不会前向星,全部爆空间。

见代码;

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,flag=,g[][],dij[];
bool book[];
char c;
void dijs()
{
dij[]=;
book[]=true;
while(flag!=n*m)
{
int minIndex=0x3f3f3f3f,minnum=;
for(int i=;i<=n*m;i++)
{
if(!book[i])
{
if(minIndex>dij[i])
{
minIndex=dij[i];
minnum=i;
}
}
}
book[minnum]=true;
flag++;
for(int i=;i<=n*m;i++)
{
if(!book[i]&&g[minnum][i]!=0x3f3f3f)
{
if(g[minnum][i]+dij[minnum]<dij[i])
dij[i]=g[minnum][i]+dij[minnum];
}
}
}
}
int main()
{
freopen("game.in","r",stdin);
freopen("game.out","w",stdout);
memset(g,0x3f3f3f,sizeof(g));
memset(dij,0x3f3f3f,sizeof(dij));
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
g[i][i]=;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
{
scanf(" %c",&c);
if(int(c)==)
{
g[(i-)*m+j+][i*m+j]=;g[i*m+j][(i-)*m+j+]=;
g[(i-)*m+j][i*m+j+]=;g[i*m+j+][(i-)*m+j]=;
if(((i-)*m+j+)==&&(i*m+j)==(i*m+))
{
dij[m+]=;
} }
else
{
g[(i-)*m+j][i*m+j+]=;g[i*m+j+][(i-)*m+j]=;
g[(i-)*m+j+][i*m+j]=;g[i*m+j][(i-)*m+j+]=;
if((i-)*m+j==&&i*m+j+==i*m+)
{
dij[m+]=;
}
}
}
dijs();
printf("%d",dij[n*m]);
return ;
}

好题哉!!!


T4:拓扑排序

如题,再嵌一个中位数。这个非常复杂,这里不讲。

好题哉!!!

中山普及Day13——普及的更多相关文章

  1. 中山普及Day17——普及

    今天换教室,本来教室多好嘛,易守难攻,结果...今天今天仅下午就被熊抄了2次,熊超真TMD不是人呐,走路连脚步声都没有. 然后,播报分数: 爆0了!!!

  2. 洛谷——普及练习场 普及组选手可冲刺训练,提高组选手亦可在此巩固基础。(Loading...)

    简单的模拟 关卡2-1,6 道题 开始普及组的训练!所谓模拟,就是直接根据题意编写,思维难度简单. //T1 铺地毯 #include <cstdio> #define N 10005 i ...

  3. [Mac A]为什么国外程序员爱用 Mac?

    from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...

  4. JAVAWEB之增删改查

    青年志愿者服务网(20分)   1.项目需求: 为了适应社会主义市场经济发展的需要,推动青年志愿服务体系和多层次社会保障体系的建立和完善,促进青年健康成长,石家庄铁道大学急需建设青年志愿者服务网,推进 ...

  5. JavaWeb系统(增删改查、多条件查询功能)

    该系统是一个简单的青年服务管理系统,主要包括了较完整的常用的增删改查以及多条件查询功能,对于初学者有很大帮助. 下面是相关的Java代码.jsp页面.以及数据库的创建和相关表的设计 java代码 首先 ...

  6. java程序设计课期中考试——数据库的增删改查和简单的js界面

    首先是设计思路,对于数据库的增删改查,我们借助Ecilipse来进行前端和后端的编写.Ecilipse是可以进行java web项目的操作的. 前端,我们选择用使用jsp,所谓的jsp就是可以嵌入其他 ...

  7. 中山Day10——普及

    今天又是愚蠢的一天,估分230,实得110.其中T2.4不会,这里就只说题意和简要思路. 收获:scanf>>a,以及printf<<a. T1:模板题 此题相对简单,就是读入 ...

  8. 中山Day5——普及

    今天题目真是贼难呐...才38... 收获:树状数组单个修改 树状数组区间修改 T1:旅行 题意:有n个数,问;从中取任意个数,他们的和为质数的方案数是多少?(n<=50) 暴力模拟即可,这里不 ...

  9. 中山Day4——普及

    生活开始日益平淡了呢...今天130分. 收获:归并排序求逆序对 背包问题(01.完全.多重)(外带滚动数组优化) T1:题目链接(才不会告诉你们下面的代码也是洛谷上弄来的) 思路:动态规划.首先,设 ...

随机推荐

  1. div 悬浮

    一个小需求,鼠标移动一个产品那, 显示这个产品的具体信息 代码如下: <a href="javascript:void(0);" onclick="frameSea ...

  2. 后端——框架——容器框架——spring_core——《官网》阅读笔记——初篇

    1.知识体系 spring-core的知识点大概分为以下几个部分 IOC容器 Bean的配置,XML方式和注解方式 Bean的管理,bean的生命周期,bean的作用域等等 与Bean相关联的接口和对 ...

  3. 洛谷 P1563 玩具谜题(模拟)

    嗯... 题目链接:https://www.luogu.org/problem/P1563 这道题主要问题就是弄明白顺逆时针的问题,其实可以简化成一个异或的问题:当head与x异或值为零时,即为顺时针 ...

  4. css实现单行和多行省略号

    1.单行省略 { width:300px; overflow: hidden; text-overflow:ellipsis; whitewhite-space: nowrap; } 注:单行省略必须 ...

  5. webpack 中使用 autoprefixer

    webpack中autoprefixer是配合postcss-loader使用的,首先安装相应资源: npm i -D style-loader css-loader postcss-loader a ...

  6. 基于科大讯飞AIUI平台自定义语义库的开发

    说明:我写这篇文章的主要目的是因为我在做这块的时候遇到过一些坑,也是希望后来者能少走一些弯路. 科大讯飞AIUI开放平台地址 科大讯飞AIUI开放平台后处理地址 AIUI后处理开放平台协议 1. 科大 ...

  7. SPOJ QTREE Query on a Tree【树链剖分模板题】

    树链剖分,线段树维护~ #include <cstdio> #include <cstring> #include <iostream> #include < ...

  8. ArrayStack(栈)

    顺序栈即数组型的栈.什么是栈呢?简单来说就像一个刚好装的下乒乓球大小的球筒,假设不能暴力打开球筒且只有一端有出口,那你放入或取出里面的球的操作都只能在一端进行,并且把球放进去或取出来都是由顺序决定的, ...

  9. transform 的旋转 ,3d效果,要添加3d效果的父级加上景深perspective。 3d效果的容器加上 transform-style:preserve-3d。

    该技术用于创建一个多维的数据,在这个实例中使用了两个元素用于正面和反面.前面用来放置产品图片,底部用来放置产品信息.默认情况下产品信息隐藏起来,同时鼠标悬停在产品图片上时,隐藏在底部的产品信息在X轴放 ...

  10. PHP5接口技术入门

    在PHP中我们声明类一般都用class来声明. <?php class Student{ //用class声明一个Student类 function __construct(){ //实例化类的 ...