第一题,很水,直接上代码

 #include <iostream>
#include <fstream>
#include <cstdlib>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std; ifstream fin("coin.in");
ofstream fout("coin.out"); int cnt_shu;
long long he=; int main(int argc, char** argv) {
fin>>cnt_shu;
int shi=;
for(int x=;x<=cnt_shu;x+=shi){
shi++;
if(x+shi-<=cnt_shu)he+=shi*shi;
else he+=(cnt_shu-x+)*shi;
}
fout<<he;
return ;
}

第二题,同样很水

 #include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std; ifstream fin("mine.in");
ofstream fout("mine.out"); int cnt_hang=,cnt_lie=;
int jv[][];
int hez[]={,-,,,,-,,-};
int zoz[]={,,,-,,-,-,}; int zhao(int he,int zo){ int ans=;
for(int x=;x<;x++){
int han=he+hez[x];
int zon=zo+zoz[x];
if(he<||zo<||he>cnt_hang||zo>cnt_lie)continue;
if(jv[han][zon]==)continue;
else ans++;
}
return ans;
} int main(int argc, char** argv) {
fin>>cnt_hang>>cnt_lie;
for(int x=;x<=cnt_hang;x++){
string a;fin>>a;
for(int y=;y<=cnt_lie;y++)if(a[y-]=='*')jv[x][y]=;
}
for(int x=;x<=cnt_hang;x++){
for(int y=;y<=cnt_lie;y++){
if(jv[x][y]==)fout<<zhao(x,y);
else fout<<"*";
}
fout<<endl;
}
return ;
}

第三题本来信心满满以为可以过,结果学军的数据测出来知过了2组,本以为没有希望了,结果官方测出是60分,还有40分是因为最后一步作死的没有mod,233.

我是找了规律才勉强将官方数据A过,学军的,真心做不到.

 #include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std; ifstream fin("sum.in");
ofstream fout("sum.out"); int cnt_ge,cnt_col=;
int id_num[];
int head[],cnt=;
int zhan[][];
int zhan2[];
long long ans;
struct lian{
int nxt;
int to;
};
lian cun[]; void add(int sze,int yan);
void sou(int yan);
void suan_he(int ces); void add(int sze,int yan){
cnt++;
cun[cnt].to=sze;
cun[cnt].nxt=head[yan];
head[yan]=cnt;
return;
} int gs1=,gs2=;
long long he1=0ll,he2=0ll;
void sou(int yan){
memset(zhan,,sizeof(zhan));
int sze=cun[head[yan]].to;
gs1=,gs2=;
he1=0ll,he2=0ll;
for(int x=head[yan];x!=-;x=cun[x].nxt){
int dao=cun[x].to;
if((dao+sze)%==){
he1+=dao;gs1++;
zhan[][gs1]=dao;
}
else{
he2+=dao;gs2++;
zhan[][gs2]=dao;
}
} for(int x=;x<;x++)suan_he(x);
return;
} void suan_he(int ces){
int gs=;long long he=0ll;
if(ces==){gs=gs1;he=he1;}
else {gs=gs2;he=he2;}
if(gs==||gs==)return;
int shu=;
for(int x=gs;x>=;x--){
shu=((he+zhan[ces][x])/*id_num[zhan[ces][x]])*;
ans+=shu*%;
ans*=;
} return;
} int main(int argc, char** argv) {
fin>>cnt_ge>>cnt_col;
memset(head,-,sizeof(head));
for(int x=;x<=cnt_ge;x++)fin>>id_num[x];
for(int x=;x<=cnt_ge;x++){
int yan;fin>>yan;
add(x,yan);
}
for(int x=;x<=cnt_col;x++){
sou(x);
}
fout<<ans%;
return ;
}

第四题,我到现在为止都不知道它为什么学军的数据A过,官方数据A过,在我心中,这种算法本身就是错误的,我是想将选所有人的情况

都算出来,然后再一个一个减的(用了传说中的优先队列),怎么对的完,是数据太弱了,还是我运气太好了,还是说我的方法本身就是正确的???

 #include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std; ifstream fin("salesman.in");
ofstream fout("salesman.out"); int cnt_shu;
int jv[];
int a[];
int ans[];
int shang[];
int hou[];
int gs=;
int dui[];
int wei;
void pout(int sze);
void zhuan( );
void na(int sze); void pout(int sze){
gs++;dui[gs]=sze;
int now=gs,fu;
while(now/>){
fu=now/;
if(a[dui[fu]]<a[dui[now]])return;
int b=dui[fu];dui[fu]=dui[now];dui[now]=b;
now=fu;
}
return;
} void zhuan( ){
for(int x=;x<=cnt_shu;x++)shang[x]=x-;
for(int x=;x<cnt_shu;x++)hou[x]=x+;
for(int x=;x<cnt_shu;x++){
int dai1=a[dui[]];
int dai2=(jv[wei]-jv[shang[wei]])*+a[wei];
if(dai1>=dai2){
ans[cnt_shu-x]=ans[cnt_shu-x+]-dai2;
wei=shang[wei]; na(wei);
}
else{
hou[shang[dui[]]]=hou[dui[]];
shang[hou[dui[]]]=shang[dui[]];
na();
ans[cnt_shu-x]=ans[cnt_shu-x+]-dai1; }
}
return;
} void na(int sze){
dui[sze]=dui[gs];
gs--;
int now=sze,zi=;
while(now*<=gs){
zi=now*;
if(a[dui[zi+]]<a[dui[zi]]&&now*<gs)zi++;
if(a[dui[zi]]>a[dui[now]])return;
int b=dui[zi];dui[zi]=dui[now];
dui[now]=b;now=zi;
}
return;
} int main(int argc, char** argv) {
fin>>cnt_shu;
for(int x=;x<=cnt_shu;x++){
fin>>jv[x];ans[cnt_shu]=jv[x]*;
}
for(int x=;x<=cnt_shu;x++){
fin>>a[x];
if(x!=cnt_shu)pout(x);
ans[cnt_shu]+=a[x];
}
wei=cnt_shu;
zhuan( );
for(int x=;x<=cnt_shu;x++)fout<<ans[x]<<endl; return ;
}

[NOIP2015pj题解]From某因为时间快了那么一点点超过下一位的蒟蒻(其实是纯代码).的更多相关文章

  1. Websphere设置JVM时区解决程序、日志时间快8小时问题

    原文链接:http://www.itpub.net/thread-1204714-1-1.html 相信很多使用Websphere的朋友会经常在Windows操作系统中遇到程序时间快8小时的问题 如果 ...

  2. noip2013Day2T3-华容道【一个蒟蒻的详细题解】

    描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的 ...

  3. USACO 简易题解(蒟蒻的题解)

    蒟蒻难得可以去比赛,GDOI也快到了,还是认真刷题(不会告诉你之前都在颓废),KPM 神犇既然都推荐刷USACO, 辣就刷刷. 现在蒟蒻还没刷完,太蒟刷得太慢,so 写了的搞个简易题解(没代码,反正N ...

  4. 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。

    解决Mysql连接池被关闭  ,hibernate尝试连接不能连接的问题. (默认MySQL连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池. 所以系统发布第二天访问会 ...

  5. 【第三课】ANR和OOM——贪快和贪多的后果(下)

    Out of Mana,法力耗尽. 内存就像法力,耗尽了就什么都不能做了.有时候一个应用程序占用了太大的内存,超过了Android系统为你规定的限制,那么系统就会干掉你,以保证其他app有足够的内存. ...

  6. MySQL-Front 出现“程序注册时间到期 程序将被限制模式下运行”解决方式

    MySQL-Front 出现“程序注册时间到期 程序将被限制模式下运行”解决方式 在用mysql-front的时候遇到显示:程序注册时间到期程序将被限制模式下运行.可以在“帮助”菜单下的点“登记”-- ...

  7. C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式

    C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式 置顶 2018年03月06日 19:16:51 黎筱曦 阅读数:19098 标签: C#时间 更多 个人 ...

  8. 【Cantor表】蒟蒻题解

    原题:传送门 (上图摘自网站OpenJudge - NOI题库2.1 Cantor表) 本蒟蒻的题解,让大神们见笑了! 首先,进行找规律. 大家可以发现: 1.当分子是一的时候,且分子和分母的和是偶数 ...

  9. 题解 P2920 【[USACO08NOV]时间管理Time Management】

    题面 作为一名忙碌的商人,约翰知道必须高效地安排他的时间.他有N工作要 做,比如给奶牛挤奶,清洗牛棚,修理栅栏之类的. 为了高效,列出了所有工作的清单.第i分工作需要T_i单位的时间来完成,而 且必须 ...

随机推荐

  1. 一段C++代码想到的问题

    今天在学习<Unix环境高级编程>,第七章进程环境给出了一个进程的内存分布示意图,从下往上依次为“正文段->初始化数据->未初始化数据(默认初始化为0)->堆(从低地址到 ...

  2. 283. Move Zeroes(C++)

    283. Move Zeroes Given an array nums, write a function to move all 0's to the end of it while mainta ...

  3. 3D Game Programming with directx 11 习题答案 8.2

    第八章 第二题 1.首先找到Directx Texture Tool,它位于 2.填入配置 3.用画图工具画好每个level的图片,例如level0 4.用Directx Texture Tool添加 ...

  4. 【FJOI2014】【偏导+数学】病毒防护带

    转载:http://trinklee.blog.163.com/blog/static/23815806020150155296528/ 问题描述: 众所周知,在国王胖哥的带领下,K国国泰民安,空前繁 ...

  5. IE9透明filter和opacity同时生效的解决办法 IE9 hack only

    转载请注明:来自于http://www.cnblogs.com/bluers/ 问题: 假设结构如下: <div class="wrapper"> <p clas ...

  6. php利用时间生成随机函数

    date("YmdHis",time()); rand();    生成随机数   当括号内无参数时 系统会以当前时间为种子进行随机数的生成 rand(1,10);  括号里面是生 ...

  7. 【C语言】重定向和文件

    重定向和文件 一.相关基础知识 重定向:在计算机领域,重定向是大多数命令行解释器所具有的功能,包括各种可以将标准流重定向用户规定地点的Unix shells. 输入重定向:可以使程序能够使用文件代替键 ...

  8. 从MVC到前后端分离

    摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强.MVC模式最早用于Smalltalk语言中,最后在其它许多开发语言中都得到了很好的应用,例如,Java中的Stru ...

  9. Xcode7之后常见问题整理-b

    一.Xcode7,iOS9之后传出来的什么Xcode有鬼,被植入代码片段什么的,可以看看,了解一下http://drops.wooyun.org/news/8864 二.bitcode问题--未正确设 ...

  10. [Kinect]XBox One Kinect连接Windows

    注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) XBox One带体感套装去年就买了,昨天京东349元入了个适配器,下午就送到了,开箱. ...