01-07都没写...然后突然来写貌似有点突兀啊...不管了,难得前排记录一下...

吐槽一下赛制...不得不说很强... cf 套oi...很创新...不过还是兹磁ACM或者CF

A-1

数据才2<=n<=3 ...但是一眼过去就先打了个dfs 。

所以这个应该是A-2的题解。

a1应该打表就好了...

A-2

这个就是dfs啊...

搜索出所有的s串的子集,然后暴力判一下...

var s:string;a:array[0..100]of string;i,j:longint;tot,x:longint;
procedure dfs(dep,last:longint;t:string);
var i:longint;
beginif dep>1 thenbegininc(tot);a[tot]:=t;end;for i:=last+1 to length(s) dodfs(dep+1,i,t+s[i]);
end;
beginreadln(s);dfs(1,0,'');for i:=1 to tot dobeginx:=0;for j:=1 to tot doif (a[i]=a[j])and(length(a[i])=length(a[j])) then inc(x);if x=2 thenbeginwriteln('Y');exit;end;end;writeln('N');
end.

A-2

A-3

貌似因为数据随机...所以可以用rp卡... 对于n>10 很可能是"Y" 所以A-2再加个特判可以水...

正解不会QAQ...会了再来补

悄悄咪咪的去看了HR的代码...自己推敲了一波基本上懂了

对于一个01串

很显然 如果 0 或 1 有且仅有两个 辣么就是 “Y” 这时 T 串为 0 或 1

当然还有 其他可能为“Y”。

辣么什么时候捏

就是 比如

0110101

这个串看起来好像很一般,但他就是“Y”。

他的T就是010101

因此我萌就可以发现了 如果s串中存在有且仅有2个连续1 或 0 辣么就可以是“Y”。

所以暴力判一下就好了...

ORZ HR!

varc:array['0'..'1']of longint;s:ansistring;n,i:longint;
beginreadln(s);n:=length(s);for i:=1 to n doinc(c[s[i]]);if (c['0']=2)or(c['1']=2) thenbeginwriteln('Y');exit;end;if n=2 thenbeginwriteln('N');exit;end;if (s[1]=s[2])and(s[2]<>s[3]) thenbeginwriteln('Y');exit;end;if (s[n]=s[n-1])and(s[n]<>s[n-2]) thenbeginwriteln('Y');exit;end;for i:=3 to n-1 doif (s[i]=s[i-1])and(s[i]<>s[i-2])and(s[i]<>s[i+1]) thenbeginwriteln('Y');exit;end;writeln('N');
end.

A-3

B-1

很明显用dfs水...

搜索出所有子序列,然后暴力判...

var n,m:longint;a,b,c:array[0..100]of longint;ans:int64;i:longint;
procedure dfs(dep,last:longint);
var i,j:longint;x:boolean;
beginif dep=m thenbeginx:=true;for j:=1 to m doif a[c[j]]+b[j]<a[c[j-1]]+b[j-1] thenbeginx:=false;break;end;if x then inc(ans);exit;end;for i:=last+1 to n dobeginc[dep+1]:=i;dfs(dep+1,i);end;
end;
beginread(n,m);for i:=1 to n doread(a[i]);for i:=1 to m doread(b[i]);dfs(0,0);writeln(ans);
end.

B-1

B-2

不擅长dp啊QAQ

本来想不看代码自己手动推的...

写完之后一直炸...只能悄悄咪咪的去看葱神代码了...

然后发现貌似差不多啊...改成一样之后还是炸...(最后是一个sb问题)

然后我再改回原来代码就过辣!

思路是酱紫的:  设f[i,j] 表示 c数列以 i  结尾,长度为 j 且满足题目要求的c数列的方案数...

辣么肿么转移捏...

推了一下大概是酱紫的:   f[i,j]+=f[k,j-1]  1<=k<=i 且满足 a[i]+b[j]>=a[k]+b[j-1]

这个方程的意思就是说 因为考虑前一位,所以就通过j-1 长度来转移 j ...然后以 i 结尾,所以对于前面的1~(i-1) 都可以进行转移 然后在判是否满足条件

然后初始化就是 f[i,1]=1 因为 对于任意长度为1 的序列方案数就是1

varn,m:longint;a,b:array[0..10000]of longint;i,j,k:longint;f:array[0..500,0..500]of longint;ans:int64;
beginread(n,m);for i:=1 to n doread(a[i]);for i:=1 to m doread(b[i]);for i:=1 to n dof[i,1]:=1;for i:=1 to n dobeginfor j:=2 to m dofor k:=1 to i-1 doif a[i]+b[j]>=a[k]+b[j-1] thenf[i,j]:=(f[i,j]+f[k,j-1]) mod 1000000007;end;for i:=1 to n doans:=(ans+f[i,m]) mod 1000000007;writeln(ans);
end.

B-2

B-3

到处搜刮题解QAQ...太笨不懂啊QAQ...

大概就是用个树状数组来优化...

具体优化不会QAQ...

貌似B-3数据没弄啊...悄悄咪咪去交个B-2

C-1

发现n比较小,所以floyd跑一下,然后暴力判k个特殊点...这样就水过去?

比赛时KPM提醒了一下有重边...所以记得去重边,就加个min而已...

var n,m,q:longint;i,j,k:longint;x,y,z:longint;c:array[0..1000]of longint;dist:array[0..350,0..350]of longint;min:longint;
function mn(a,b:longint):longint;
beginif a<b then exit(a) else exit(b);
end;
beginread(n,m,q);for i:=1 to q doread(c[i]);for i:=1 to n dofor j:=1 to n dodist[i,j]:=1 << 25;for i:=1 to m dobeginread(x,y,z);dist[x,y]:=mn(dist[x,y],z);dist[y,x]:=dist[x,y];end;for k:=1 to n dofor i:=1 to n dofor j:=1 to n doif dist[i,k]+dist[k,j]<dist[i,j] thendist[i,j]:=dist[i,k]+dist[k,j];min:=maxlongint;for i:=1 to q dofor j:=1 to q doif (i<>j) thenif dist[c[i],c[j]]<min then min:=dist[c[i],c[j]];writeln(min);
end.

C-1

C-2

发现n变大了...但是k很小,所以可以跑k次最短路

只会spfa...QAQ...

对于每个特殊点为s跑spfa,然后在暴力更新答案

n比较大所以记得要邻接表,邻接矩阵会炸...

然后边记得开两倍,因为是双向的...貌似挺多在这re了...

typenode=recordy,z:longint;next:longint;end;
var  e:array[0..200050]of node;i,j:longint;dist,first,c:array[0..100050]of longint;x,y,z:longint;q:array[0..1000050]of longint;v:array[0..100050]of boolean;tot:longint;n,m,p:longint;min:longint;
procedure adde(x,y,z:longint);
begine[tot].next:=first[x];e[tot].y:=y;e[tot].z:=z;first[x]:=tot;inc(tot);
end;
procedure spfa(s:longint);
var head,tail:longint;i,now,y:longint;
beginhead:=1;tail:=1;for i:=1 to n dobegindist[i]:=1 << 25;v[i]:=false;end;q[1]:=s;v[s]:=true;dist[s]:=0;while head<=tail dobeginnow:=q[head];i:=first[now];while i<>-1 dobeginy:=e[i].y;if dist[y]>dist[now]+e[i].z thenbegindist[y]:=dist[now]+e[i].z;if not v[y] thenbegininc(tail);q[tail]:=y;v[y]:=true;end;end;i:=e[i].next;end;inc(head);v[now]:=false;end;
end;
beginread(n,m,p);for i:=1 to p doread(c[i]);for i:=1 to n dofirst[i]:=-1;for i:=1 to m dobeginread(x,y,z);adde(x,y,z);adde(y,x,z)end;min:=maxlongint;for i:=1 to p dobeginspfa(c[i]);for j:=1 to p doif (i<>j)and(dist[c[j]]<min) then min:=dist[c[j]];end;writeln(min);
end.

C-2

C-3

还是搜刮题解没看懂...貌似是dijkstra...没学QAQ

bfs貌似也行...但是看不懂...

TJM的神奇分集合也不是很懂...

实在不会啊QAQ

先水这一点...然后去补题了...

转载于:https://www.cnblogs.com/Bunnycxk/p/7244233.html

Contest-hunter 暑假送温暖 SRM08相关推荐

  1. 淮北晨刊报道我校学生募捐送温暖活动

    赞:学子街头募捐 到社区送温暖 http://www.hbnews.net/epaper/hbck/html/2012/01/20/07/07_23.htm 晨刊讯"爷爷,请收下这200元钱 ...

  2. 深善扶贫:深圳弘法寺启动“春风谷雨”送温暖行动

    中国民生新闻网12月29日深圳讯(煜棣 报道)昨天上午,深圳市弘法寺.深圳市智慧东方公益基金会和深圳市慈善会联合深圳市各大商协会与企业发起"春风谷雨"温暖行动,在深圳弘法寺方丈接待 ...

  3. 连续9年惠及10万贫困家庭 金科“情暖万家”春节送温暖再出发

    中新网1月25日电 今天,金科集团"情暖万家春节送温暖"活动在重庆市举行, 金科现场捐赠500万元,慰问重庆市公安英烈遗属.困难民警,以及重庆市石柱.奉节.巫溪.忠县.涪陵.丰都. ...

  4. 迎新春,送关怀,送温暖|云畅科技走访慰问三湘社区

    在农历虎年春节来临之际,公司及云畅科技党支部与井湾子街道商会.致公党雨花区工委一同前往三湘社区开展"迎新春.送关怀.送温暖"走访慰问活动,为社区困难群众送去关怀与温暖,并致以新春的 ...

  5. 凛冬至送温暖,无价资源免费送

    1.spring微服务视频 2.编程语言全集 3.微信支付 4.Linux全集 5.品优购电商系统和国际物流云商项目 6.J2EE全集 7.IDEA使用教程 8.Kotlin教程 9.Go全集 10. ...

  6. Doo Prime 为泰国 SOS 儿童村送温暖,公益有起点爱心无疆界

    一年一度的圣诞节即将来临,在这欢乐的时刻,  Doo Prime 荣幸地宣布 ,向泰国 SOS 儿童村捐赠了 35 万泰铢 ( 约合 1.23 万美元 ),作为泰国南部城市合艾府 SOS 儿童村的房屋 ...

  7. 12306购票送温暖

    更多内容关注公众号:SAP Technical 点击进入:12306购票送温暖

  8. 五原县扬帆志愿者协会开展“春节慰问送温暖,年味渐浓情更深”新春慰问活动

    又是一年新春到,最是岁寒情暖时,2023年1月18日上午,五原县扬帆志愿者协会携手五原县民政局.五原县新时代文明实践服务中心看望慰问了困难家庭,为他们送去新春慰问品和关怀,并提前送上新春佳节的问候与美 ...

  9. 走基层、送温暖、迎新春

    2023年春节即将来临,为确保困难群众能过上一个快乐.祥和.平安的节日,同江市繁荣街道社工站针对独居.空巢老人.孤困留守儿童.残疾人.困难老年人等特殊群体,开展了"走基层.送温暖.迎新春&q ...

  10. 霸王级”寒潮来袭 神华国华“智能供热”送温暖

    随着农历二十四节气中的最后一个节气--大寒的到来,一股从西伯利亚而来的超级寒潮也"应景"般袭击了中国.随着气温的持续走低,北京的用电量屡创新高,一场冬季确保供电的紧张工作也由此展开 ...

最新文章

  1. Radware:当前,CDN安全远远不足
  2. sendto 返回errnor 1,错误码1 Operation not permitted
  3. ubuntu服务器安装指南
  4. PAT1043 输出PATest (20 分)
  5. 设计模式之组合模式(Composite Pattern)
  6. Linux的概念与体系 7. Linux进程基础(转载)
  7. 力扣45. 跳跃游戏 II(JavaScript)
  8. java day56【 Mybatis 延迟加载策略 、 Mybatis 缓存、Mybatis 注解开发 】
  9. 第二季-专题5-核心初始化
  10. C# 委托和事件高级进阶
  11. python directx_directX嵌入pyside
  12. [ecshop调试]ecshop 数据库查询缓存详解 有三种缓存,query_cache(数据库查询缓存)、static_cache(静态缓存)和cache(普通的缓存)
  13. python3爬虫的简单使用-附百度贴吧等大量实例代码
  14. 免费的安全删除软件 SDelete v1.51
  15. python卷积神经网络训练,python卷积神经网络图像
  16. 累积你的All Blue-使用集成库-PCB系列教程1-4
  17. 对抗样本的创建和防御
  18. 小飞鱼通达二开 致远OA启动时报错“无法初始化数据库连接池,系统无法启动”的问题处理(图文)
  19. Prettier formatter for vscode 配置单引号问题
  20. 前端eslint+prettier+lint-staged配置

热门文章

  1. request.getRequestDispatcher(url).forward(request, response)
  2. 设计一个简易的有道词典
  3. Oracle DB_LINK如何使用
  4. 如何使用Mac预览程序将png转换为jpg格式的技巧分享
  5. 巧用EasyRecovery监控硬盘 为你的电脑保驾护航
  6. 这款应用,让Windows软件也能在Mac上使用起来
  7. 【对讲机的那点事】维修对讲机你会拆卸电路板上的集成电路块吗?
  8. Javascript本地存储小结
  9. 给大家带来点福利 整理了一些学习网站,问答网站,和IT咨询网站
  10. [20150913]文件检查点_热备份.txt