又是迷之自信的说。。。估的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. 吴裕雄 人工智能 java、javascript、HTML5、python、oracle ——智能医疗系统WEB端智能分诊代码简洁版实现

    <%-- Document : getInfo Created on : 2018-10-7, 21:36:37 Author : acer --%> <%@page import= ...

  2. dp(完全背包)

    有 NN 种物品和一个容量是 VV 的背包,每种物品都有无限件可用. 第 ii 种物品的体积是 vivi,价值是 wiwi. 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大. ...

  3. 【MySQL】用户管理及备份

    "我们知道我们的最高权限管理者是root用户,它拥有着最高的权限,包括select.update.delete.grant等操作.一般在公司里DBA工程师会创建一个用户和密码,让你去连接数据 ...

  4. enviroment linux jdk and git and maven

    #java_home export JAVA_HOME=/usr/local/java/jdk1.8.0_211 export JRE_HOME=$JAVA_HOME/jre export CLASS ...

  5. sso系统登录以及jsonp原理

    登录的处理流程: 1.登录页面提交用户名密码. 2.登录成功后生成token.Token相当于原来的jsessionid,字符串,可以使用uuid. 3.把用户信息保存到redis.Key就是toke ...

  6. 【代码审计】VAuditDemo 重装漏洞

    一.源码安装漏洞介绍 一般在PHP源码程序都有一个初始安装的功能,如果相关代码没有对参数进行严格过滤,可能会导致攻击者访问安装页面(install.php)或构造数据包,对网站进行重新安装,从而危害网 ...

  7. JQuery选择器&过滤器

    JQuery对象: JQuery对象的本质上是DOM数组,它对DOM元素进行了封装 JQuery对象和JavaScript对象可以互转(\$()/$obj()[i]),但是JQuery对象和Javas ...

  8. 【原】mac电脑使用总结

    mac下终端配置(item2+oh-my-zsh)+solarized配色方案:https://www.cnblogs.com/weixuqin/p/7029177.html

  9. base64相关

    1.base64指定的64个字符(包含52个大小写.10个数字和+./): abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ...

  10. Oracle的TO_CHAR()格式化数字为百分数的字符串

    TO_CHAR(-0.926903249,'FM999999990.00') || '%' 说明: 1,(点号) :'99.99' : 点号,不要念为"句号",句号是个圆圈,点号只 ...