真是状况百出的一次CF啊……
最终还Unrated了,你让半夜打cf 的我们如何释怀(中途茫茫多的人都退场了)……虽说打得也不好……
在这里写一下这一场codeforces的解题报告,A-E的 题目及AC代码,部分题目有简单评析,代码还算清晰,主要阅读代码应该不难以理解。
Questions about problems
2014-11-05 21:24:38 | Announcement | General announcement ***** Issue of problem locking was fixed. Now you should be able to lock task if you passed pretests. | |||
2014-11-05 21:18:46 | Announcement | General announcement ***** You may be unable to lock some problems for hacking. This will be fixed soon. | |||
2014-11-05 20:23:29 | Announcement | General announcement ***** This round will be unrated due to technical issues. Duration will be extended by 30 minutes. Testing queue is really long. Continue solving other problems. We are sorry for an inconvenience. |
A. Factory
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
One industrial factory is reforming working plan. The director suggested to set a mythical detail production norm. If at the beginning of the day there were x details in the factory storage, then by the end of the day the factory has to produce (remainder after dividing x by m) more details. Unfortunately, no customer has ever bought any mythical detail, so all the details produced stay on the factory.
The board of directors are worried that the production by the given plan may eventually stop (that means that there will be а moment when the current number of details on the factory is divisible by m).
Given the number of details a on the first day and number m check if the production stops at some moment.
Input
The first line contains two integers a and m (1?≤?a,?m?≤?105).
Output
Print "Yes" (without quotes) if the production will eventually stop, otherwise print "No".
Sample test(s)
input
1 5
output
No
input
3 6
output
Yes
那就用大小为m的一个vis数组来记录当前余数是否被用过,然后模拟,每次记录当前余数,如果余数变成0了输出Yes,如果余数到达了曾经有过的余数位置,那么就会以此为一个循环永远循环下去,那么我们break,输出No
Code:
#include <cmath> #include <cctype>#include <cstdio>#include <string>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define Max(a,b) ((a)>(b)?(a):(b))#define Min(a,b) ((a)>a>>m; int vis[100086]={0}; while(1) { if(a==0){cout <br> <p></p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <h2 id="B-Valuable-Resources">B. Valuable Resources</h2> <p class="sycode"> </p> <p class="sycode"> time limit per test </p> 1 second <p class="sycode"> </p> <p class="sycode"> memory limit per test </p> 256 megabytes <p class="sycode"> </p> <p class="sycode"> input </p> standard input <p class="sycode"> </p> <p class="sycode"> output </p> standard output <p class="sycode"> </p> <p> Many computer strategy games require building cities, recruiting army, conquering tribes, collecting resources. Sometimes it leads to interesting problems.</p> <p> Let's suppose that your task is to build a square city. The world map uses the Cartesian coordinates. The sides of the city should be parallel to coordinate axes. The map contains mines with valuable resources, located at some points with integer coordinates. The sizes of mines are relatively small, i.e. they can be treated as points. The city should be built in such a way that all the mines are inside or on the border of the city square.</p> <p> Building a city takes large amount of money depending on the size of the city, so you have to build the city with the minimum area. Given the positions of the mines find the minimum possible area of the city.</p> <p class="sycode"> </p> <p class="sycode"> Input </p> <p> The first line of the input contains number n ? the number of mines on the map (2?≤?n?≤?1000). Each of the next n lines contains a pair of integers xi and yi ? the coordinates of the corresponding mine (?-?109?≤?xi,?yi?≤?109). All points are pairwise distinct.</p> <p class="sycode"> </p> <p class="sycode"> Output </p> <p> Print the minimum area of the city that can cover all the mines with valuable resources.</p> <p class="sycode"> </p> <p class="sycode"> Sample test(s) </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> input </p> <pre style="代码" class="precsshei">20 02 2
output
input
20 00 3
output
这不知道算不算凸包,反正记录最大最小的x和y,然后相减获得最小矩形长宽,取两者较长边平方即可。
Code:
#include <cmath> #include <cctype>#include <cstdio>#include <string>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int inf=(int)1e9+10086;#define Max(a,b) ((a)>(b)?(a):(b))#define Min(a,b) ((a) b;}int main(){ int n; cin>>n; int up=-inf,down=inf,left=inf,right=-inf; for(int i=0;i<n int x cin>>x>>y; if(x<left left="x;" if>right) right=x; if(y<down down="y;" if>up) up=y; } int len=max(up-down,right-left); cout <br> <p></p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <h2 id="C-Bits">C. Bits</h2> <p class="sycode"> </p> <p class="sycode"> time limit per test </p> 1 second <p class="sycode"> </p> <p class="sycode"> memory limit per test </p> 256 megabytes <p class="sycode"> </p> <p class="sycode"> input </p> standard input <p class="sycode"> </p> <p class="sycode"> output </p> standard output <p class="sycode"> </p> <p> Let's denote as the number of bits set ('1' bits) in the binary representation of the non-negative integer x.</p> <p> You are given multiple queries consisting of pairs of integers l and r. For each query, find the x, such that l?≤?x?≤?r, and is maximum possible. If there are multiple such numbers find the smallest of them.</p> <p class="sycode"> </p> <p class="sycode"> Input </p> <p> The first line contains integer n ? the number of queries (1?≤?n?≤?10000).</p> <p> Each of the following n lines contain two integers li,?ri ? the arguments for the corresponding query (0?≤?li?≤?ri?≤?1018).</p> <p class="sycode"> </p> <p class="sycode"> Output </p> <p> For each query print the answer in a separate line.</p> <p class="sycode"> </p> <p class="sycode"> Sample test(s) </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> input </p> <pre style="代码" class="precsshei">31 22 41 10
output
137
Note
The binary representations of numbers from 1 to 10 are listed below:
110?=?12
210?=?102
310?=?112
410?=?1002
510?=?1012
610?=?1102
710?=?1112
810?=?10002
910?=?10012
1010?=?10102
这题是给一个范围(L是左边界,R是有边界)问你在这个范围内哪个数载二进制下1的数量是最多的(有多个解请输出最小数)。
也就是,要二进制的1尽量多,还要求尽量小,那就从低位开始把0变成1呗
那么我们就从左边界开始,从低位向高位按位或(0变成1,1也还是1)1,直到比R大停止,输出前一个(即比R小的最后一个数)。
Code:
#include <cmath> #include <cctype>#include <cstdio>#include <string>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;typedef long long ll;#define Max(a,b) ((a)>(b)?(a):(b))#define Min(a,b) ((a)>l>>r; for(ll i=0;ir)break; l=t,p <br> <p></p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> </p> <h2 id="D-Maximum-Value">D. Maximum Value</h2> <p class="sycode"> </p> <p class="sycode"> time limit per test </p> 1 second <p class="sycode"> </p> <p class="sycode"> memory limit per test </p> 256 megabytes <p class="sycode"> </p> <p class="sycode"> input </p> standard input <p class="sycode"> </p> <p class="sycode"> output </p> standard output <p class="sycode"> </p> <p> You are given a sequence a consisting of n integers. Find the maximum possible value of (integer remainder of ai divided byaj), where 1?≤?i,?j?≤?n and ai?≥?aj.</p> <p class="sycode"> </p> <p class="sycode"> Input </p> <p> The first line contains integer n ? the length of the sequence (1?≤?n?≤?2·105).</p> <p> The second line contains n space-separated integers ai (1?≤?ai?≤?106).</p> <p class="sycode"> </p> <p class="sycode"> Output </p> <p> Print the answer to the problem.</p> <p class="sycode"> </p> <p class="sycode"> Sample test(s) </p> <p class="sycode"> </p> <p class="sycode"> </p> <p class="sycode"> input </p> <pre style="代码" class="precsshei">33 4 5
output
int n=0; cin>>n; for(int i=0;i<n scanf sort int modmax="0;" for i="0;" num>modmax; i++) for(int j=i+1;num[j]>modmax && j<n j update num cout return>这样的东西……TLE的飞起…… <p></p> <p>想了想就不能暴力啊,暴力的话剪枝也没用</p> <h3 id="Code">Code:</h3> <p></p> <pre name="code" class="sycode">#include <cmath> #include <cctype>#include <cstdio>#include <string>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int n,a[200048]={0},ans=0;#define Max(a,b) ((a)>(b)?(a):(b))#define Min(a,b) ((a) 0) update(a[p-1] % a[i]); j+=a[i]; } update(a[n-1] % a[i]); } printf("%d\n",ans); return 0;}</algorithm></iostream></cstring></cstdlib></string></cstdio></cctype></cmath>
E. Strange Sorting
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
How many specific orders do you know? Ascending order, descending order, order of ascending length, order of ascending polar angle... Let's have a look at another specific order: d-sorting. This sorting is applied to the strings of length at least d, where d is some positive integer. The characters of the string are sorted in following manner: first come all the 0-th characters of the initial string, then the 1-st ones, then the 2-nd ones and so on, in the end go all the (d?-?1)-th characters of the initial string. By the i-th characters we mean all the character whose positions are exactly i modulo d. If two characters stand on the positions with the same remainder of integer division byd, their relative order after the sorting shouldn't be changed. The string is zero-indexed. For example, for string 'qwerty':
Its 1-sorting is the string 'qwerty' (all characters stand on 0 positions),
Its 2-sorting is the string 'qetwry' (characters 'q', 'e' and 't' stand on 0 positions and characters 'w', 'r' and 'y' are on 1 positions),
Its 3-sorting is the string 'qrwtey' (characters 'q' and 'r' stand on 0 positions, characters 'w' and 't' stand on 1 positions and characters 'e' and 'y' stand on 2 positions),
Its 4-sorting is the string 'qtwyer',
Its 5-sorting is the string 'qywert'.
You are given string S of length n and m shuffling operations of this string. Each shuffling operation accepts two integer arguments kand d and transforms string S as follows. For each i from 0 to n?-?k in the increasing order we apply the operation of d-sorting to the substring S[i..i?+?k?-?1]. Here S[a..b] represents a substring that consists of characters on positions from a to b inclusive.
After each shuffling operation you need to print string S.
Input
The first line of the input contains a non-empty string S of length n, consisting of lowercase and uppercase English letters and digits from 0 to 9.
The second line of the input contains integer m ? the number of shuffling operations (1?≤?m·n?≤?106).
Following m lines contain the descriptions of the operations consisting of two integers k and d (1?≤?d?≤?k?≤?n).
Output
After each operation print the current state of string S.
Sample test(s)
input
qwerty34 26 35 2
output
qertwyqtewryqetyrw
Note
Here is detailed explanation of the sample. The first modification is executed with arguments k?=?4, d?=?2. That means that you need to apply 2-sorting for each substring of length 4 one by one moving from the left to the right. The string will transform in the following manner:
qwerty ?→? qewrty ?→? qerwty ?→? qertwy
Thus, string S equals 'qertwy' at the end of first query.
The second modification is executed with arguments k?=?6, d?=?3. As a result of this operation the whole string S is replaced by its 3-sorting:
qertwy ?→? qtewry
The third modification is executed with arguments k?=?5, d?=?2.
qtewry ?→? qertwy ?→? qetyrw
DIV2全场只有一个人(joker99)出了E,看了下代码暂时囫囵吞了下,贴一下代码等日后学习下。
Code:
#include <cmath> #include <cctype>#include <cstdio>#include <string>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define Max(a,b) ((a)>(b)?(a):(b))#define Min(a,b) ((a)= 0; h--) if (vl >= (1 = sh) ps = pwr[h][ps - sh] + sh; vl -= (1 <br> <br> <p></p> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> </algorithm></iostream></cstring></cstdlib></string></cstdio></cctype></cmath>

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器