[NOIP2015pj题解]From某因为时间快了那么一点点超过下一位的蒟蒻(其实是纯代码).
第一题,很水,直接上代码
#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某因为时间快了那么一点点超过下一位的蒟蒻(其实是纯代码).的更多相关文章
- Websphere设置JVM时区解决程序、日志时间快8小时问题
原文链接:http://www.itpub.net/thread-1204714-1-1.html 相信很多使用Websphere的朋友会经常在Windows操作系统中遇到程序时间快8小时的问题 如果 ...
- noip2013Day2T3-华容道【一个蒟蒻的详细题解】
描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的 ...
- USACO 简易题解(蒟蒻的题解)
蒟蒻难得可以去比赛,GDOI也快到了,还是认真刷题(不会告诉你之前都在颓废),KPM 神犇既然都推荐刷USACO, 辣就刷刷. 现在蒟蒻还没刷完,太蒟刷得太慢,so 写了的搞个简易题解(没代码,反正N ...
- 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。
解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题. (默认MySQL连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池. 所以系统发布第二天访问会 ...
- 【第三课】ANR和OOM——贪快和贪多的后果(下)
Out of Mana,法力耗尽. 内存就像法力,耗尽了就什么都不能做了.有时候一个应用程序占用了太大的内存,超过了Android系统为你规定的限制,那么系统就会干掉你,以保证其他app有足够的内存. ...
- MySQL-Front 出现“程序注册时间到期 程序将被限制模式下运行”解决方式
MySQL-Front 出现“程序注册时间到期 程序将被限制模式下运行”解决方式 在用mysql-front的时候遇到显示:程序注册时间到期程序将被限制模式下运行.可以在“帮助”菜单下的点“登记”-- ...
- C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式
C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式 置顶 2018年03月06日 19:16:51 黎筱曦 阅读数:19098 标签: C#时间 更多 个人 ...
- 【Cantor表】蒟蒻题解
原题:传送门 (上图摘自网站OpenJudge - NOI题库2.1 Cantor表) 本蒟蒻的题解,让大神们见笑了! 首先,进行找规律. 大家可以发现: 1.当分子是一的时候,且分子和分母的和是偶数 ...
- 题解 P2920 【[USACO08NOV]时间管理Time Management】
题面 作为一名忙碌的商人,约翰知道必须高效地安排他的时间.他有N工作要 做,比如给奶牛挤奶,清洗牛棚,修理栅栏之类的. 为了高效,列出了所有工作的清单.第i分工作需要T_i单位的时间来完成,而 且必须 ...
随机推荐
- 简单的完全背包HDU1114
今天广州下雨啦,不过没关系啦,反正我最近也都在刷题学习算法. 昨天做了五题01背包,今天还是背包,不过是完全背包,估计做动态规划要持续好一段时间,一开始选了一道简单题目啦. HDU1114,看了小一段 ...
- 【清橙A1094】【牛顿迭代法】牛顿迭代法求方程的根
问题描述 给定三次函数f(x)=ax3+bx2+cx+d的4个系数a,b,c,d,以及一个数z,请用牛顿迭代法求出函数f(x)=0在z附近的根,并给出迭代所需要次数. 牛顿迭代法的原理如下(参考下图) ...
- React Native:使用 JavaScript 构建原生应用 详细剖析
数月前,Facebook 对外宣布了正在开发的 React Native 框架,这个框架允许你使用 JavaScript 开发原生的 iOS 应用——就在今天,Beta 版的仓库释出了! 基于 Pho ...
- 桂电在线-转变成bootstrap版3(记录学习bootstrap)
继续上文 正文菜单 html: <!-- 菜单块 --> <div class="on-light" id="menus"> <s ...
- __isset()检测类内部变量是否设置
__isset()--检测类内部私有变量是否存在 当执行isset方法时自动执行 class Per{ private $name; private $age; function __construc ...
- ubuntu 安装apache2,mysql,php5,phpmyadmin等软件
1.安装apache2 sudo apt-get install apache2 输入Y回车 apache2 安装完成 检测:在浏览器输入localhost 出现It works则成功. 2. ...
- django中文件(头像)上传
一些常用的小功能,记录下来 先说一种上传功能. 模板表单 <form enctype="multipart/form-data" name="form1" ...
- JSOP
说到 JSONP 就要说到同源策略(Same Origin Policy), 同源策略是浏览器最核心的也是最基本的安全功能. 浏览器的同源策略,限制了来自不同源的 “document” 或脚本,对当前 ...
- 【关于JavaScript】常见表单用户名、密码不能为空
在论坛等系统的用户注册功能中,如果用户忘记填写必填信息,如用户名.密码等,浏览器会弹出警告框,提示用户当前有未填信息. 这个典型的应用就是通过JavaScript实现的.如图所示是一个简单的用户注册页 ...
- bzoj 2115: [Wc2011] Xor xor高斯消元
2115: [Wc2011] Xor Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 797 Solved: 375[Submit][Status] ...