当前位置:文档之家› acm english

acm english

acm english
acm english

Financial Management

Time Limit: 1000MS Memory Limit: 10000K

Total Submissions: 70812 Accepted: 34466

Description

Larry graduated this year and finally has a job. He's making a lot of money, but somehow never seems to have enough. Larry has decided that he needs to grab hold of his financial portfolio and solve his financing problems. The first step is to figure out what's been going on with his money. Larry has his bank account statements and wants to see how much money he has. Help Larry by writing a program to take his closing balance from each of the past twelve months and calculate his average account balance.

Input

The input will be twelve lines. Each line will contain the closing balance of his bank account for a particular month. Each number will be positive and displayed to the penny. No dollar sign will be included.

Output

The output will be a single number, the average (mean) of the closing balances for the twelve months. It will be rounded to the nearest penny, preceded immediately by a dollar sign, and followed by the end-of-line. There will be no other spaces or characters in the output.

Sample Input

100.00

489.12

12454.12

1234.10

823.05

109.20

5.27

1542.25

839.18

83.99

1295.01

1.75

Sample Output

$1581.42

Source

Mid-Atlantic 2001

Exponentiation

Time Limit: 500MS Memory Limit: 10000K

Total Submissions: 80630 Accepted: 19125

Description

Problems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the national debt is a taxing experience for many computer systems.

This problem requires that you write a program to compute the exact value of Rn where R is a real number ( 0.0 < R < 99.999 ) and n is an integer such that 0 < n <= 25.

Input

The input will consist of a set of pairs of values for R and n. The R value will occupy columns 1 through 6, and the n value will be in columns 8 and 9.

Output

The output will consist of one line for each line of input giving the exact value of R^n. Leading zeros should be suppressed in the output. Insignificant trailing zeros must not be printed. Don't print the decimal point if the result is an integer.

Sample Input

95.123 12

0.4321 20

5.1234 15

6.7592 9

98.999 10

1.0100 12

Sample Output

548815620517731830194541.899025343415715973535967221869852721

.000000051485546410769561219945112767671548384817602007263512038354297630134624 01

43992025569.928573701266488041146654993318703707511666295476720493953024 29448126.764121021618164430206909037173276672

90429072743629540498.107596019456651774561044010001

1.126825030131969720661201

Hint

If you don't know how to determine wheather encounted the end of input:

s is a string and n is an integer

C++

while(cin>>s>>n)

{

...

}

c

while(scanf("%s%d",s,&n)==2) //to see if the scanf read in as many items as you want

/*while(scanf(%s%d",s,&n)!=EOF) //this also work */

{

...

}

Source

East Central North America 1988

487-3279

Time Limit: 2000MS Memory Limit: 65536K

Total Submissions: 150408 Accepted: 25634

Description

Businesses like to have memorable telephone numbers. One way to make a telephone number memorable is to have it spell a memorable word or phrase. For example, you can call the University of Waterloo by dialing the memorable TUT-GLOP. Sometimes only part of the number is used to spell a word. When you get back to your hotel tonight you can order a pizza from Gino's by dialing 310-GINO. Another way to make a telephone number memorable is to group the digits in a memorable way. You could order your pizza from Pizza Hut by calling their ``three tens'' number 3-10-10-10.

The standard form of a telephone number is seven decimal digits with a hyphen between the third and fourth digits (e.g. 888-1200). The keypad of a phone supplies the mapping of letters to numbers, as follows:

A, B, and C map to 2

D, E, and F map to 3

G, H, and I map to 4

J, K, and L map to 5

M, N, and O map to 6

P, R, and S map to 7

T, U, and V map to 8

W, X, and Y map to 9

There is no mapping for Q or Z. Hyphens are not dialed, and can be added and removed as necessary. The standard form of TUT-GLOP is 888-4567, the standard form of 310-GINO is

310-4466, and the standard form of 3-10-10-10 is 310-1010.

Two telephone numbers are equivalent if they have the same standard form. (They dial the same number.)

Your company is compiling a directory of telephone numbers from local businesses. As part of the quality control process you want to check that no two (or more) businesses in the directory have the same telephone number.

Input

The input will consist of one case. The first line of the input specifies the number of telephone numbers in the directory (up to 100,000) as a positive integer alone on the line. The remaining lines list the telephone numbers in the directory, with each number alone on a line. Each telephone number consists of a string composed of decimal digits, uppercase letters (excluding Q and Z) and hyphens. Exactly seven of the characters in the string will be digits or letters.

Output

Generate a line of output for each telephone number that appears more than once in any form. The line should give the telephone number in standard form, followed by a space, followed by the number of times the telephone number appears in the directory. Arrange the output lines by telephone number in ascending lexicographical order. If there are no duplicates in the input print the line:

No duplicates.

Sample Input

12

4873279

ITS-EASY

888-4567

3-10-10-10

888-GLOP

TUT-GLOP

967-11-11

310-GINO

F101010

888-1200

-4-8-7-3-2-7-9-

487-3279

Sample Output

310-1010 2

487-3279 4

888-4567 3

Source

Hangover

Time Limit: 1000MS Memory Limit: 10000K

Total Submissions: 63510 Accepted: 29926

Description

How far can you make a stack of cards overhang a table? If you have one card, you can create a maximum overhang of half a card length. (We're assuming that the cards must be perpendicular to the table.) With two cards you can make the top card overhang the bottom one by half a card length, and the bottom one overhang the table by a third of a card length, for a total maximum overhang of 1/2 + 1/3 = 5/6 card lengths. In general you can make n cards overhang by 1/2 + 1/3 + 1/4 + ... + 1/(n + 1) card lengths, where the top card overhangs the second by 1/2, the second overhangs tha third by 1/3, the third overhangs the fourth by 1/4, etc., and the bottom card overhangs the table by 1/(n + 1). This is illustrated in the figure below.

Input

The input consists of one or more test cases, followed by a line containing the number 0.00 that signals the end of the input. Each test case is a single line containing a positive floating-point number c whose value is at least 0.01 and at most 5.20; c will contain exactly three digits. Output

For each test case, output the minimum number of cards necessary to achieve an overhang of at least c card lengths. Use the exact output format shown in the examples.

Sample Input

1.00

3.71

0.04

5.19

0.00

Sample Output

3 card(s)

61 card(s)

1 card(s)

273 card(s)

Source

Mid-Central USA 2001

Financial Management

Time Limit: 1000MS Memory Limit: 10000K

Total Submissions: 70812 Accepted: 34466

Description

Larry graduated this year and finally has a job. He's making a lot of money, but somehow never seems to have enough. Larry has decided that he needs to grab hold of his financial portfolio and solve his financing problems. The first step is to figure out what's been going on with his money. Larry has his bank account statements and wants to see how much money he has. Help Larry by writing a program to take his closing balance from each of the past twelve months and calculate his average account balance.

Input

The input will be twelve lines. Each line will contain the closing balance of his bank account for a particular month. Each number will be positive and displayed to the penny. No dollar sign will be included.

Output

The output will be a single number, the average (mean) of the closing balances for the twelve months. It will be rounded to the nearest penny, preceded immediately by a dollar sign, and followed by the end-of-line. There will be no other spaces or characters in the output.

Sample Input

100.00

489.12

12454.12

1234.10

823.05

109.20

5.27

1542.25

839.18

83.99

1295.01

1.75

Sample Output

$1581.42

Source

Mid-Atlantic 2001

Biorhythms

Time Limit:1000MS Memory Limit:10000K

Total Submissions:74768 Accepted:22336 Description

Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical, emotional, and intellectual cycles, and they have periods of lengths 23, 28, and 33 days, respectively. There is one peak in each period of a cycle. At the peak of a cycle, a person performs at his or her best in the corresponding field (physical, emotional or mental). For example, if it is the mental curve, thought processes will be sharper and concentration will be easier. Since the three cycles have different periods, the peaks of the three cycles generally occur at different times. We would like to determine when a triple peak occurs (the peaks of all three cycles occur in the same day) for any person. For each cycle, you will be given the number of days from the beginning of the current year at which one of its peaks (not necessarily the first) occurs. You will also be given a date expressed as the number of days from the beginning of the current year. You task is to determine the number of days from the given date to the next triple peak. The given date is not counted. For example, if the given date is 10 and the next triple peak occurs on day 12, the answer is 2, not 3. If a triple peak occurs on the given date, you should give the number of days to the next occurrence of a triple peak.

Input

You will be given a number of cases. The input for each case consists of one line of four integers p, e, i, and d. The values p, e, and i are the number of days from the beginning of the current year at which the physical, emotional, and intellectual cycles peak, respectively. The value d is the given date and may be smaller than any of p, e, or i. All values are non-negative and at most 365, and you may assume that a triple peak will occur within 21252 days of the given date. The end of input is indicated by

a line in which p = e = i = d = -1.

Output

For each test case, print the case number followed by a message indicating the number of days to the next triple peak, in the form:

Case 1: the next triple peak occurs in 1234 days.

Use the plural form ``days'' even if the answer is 1.

Sample Input

0 0 0 0

0 0 0 100

5 20 34 325

4 5 6 7

283 102 23 320

203 301 203 40

-1 -1 -1 -1

Sample Output

Case 1: the next triple peak occurs in 21252 days.

Case 2: the next triple peak occurs in 21152 days.

Case 3: the next triple peak occurs in 19575 days.

Case 4: the next triple peak occurs in 16994 days.

Case 5: the next triple peak occurs in 8910 days.

Case 6: the next triple peak occurs in 10789 days. Source

East Central North America 1999

DNA Sorting

Time Limit: 1000MS Memory Limit: 10000K

Total Submissions: 51759 Accepted: 20218

Description

One measure of ``unsortedness'' in a sequence is the number of pairs of entries that are out of order with respect to each other. For instance, in the letter sequence ``DAABEC'', this measure is 5, since D is greater than four letters to its right and E is greater than one letter to its right. This measure is called the number of inversions in the sequence. The sequence ``AACEDGG'' has only one inversion (E and D)---it is nearly sorted---while the sequence ``ZWQM'' has 6 inversions (it is as unsorted as can be---exactly the reverse of sorted).

You are responsible for cataloguing a sequence of DNA strings (sequences containing only the four letters A, C, G, and T). However, you want to catalog them, not in alphabetical order, but

rather in order of ``sortedness'', from ``most sorted'' to ``least sorted''. All the strings are of the same length.

Input

The first line contains two integers: a positive integer n (0 < n <= 50) giving the length of the strings; and a positive integer m (0 < m <= 100) giving the number of strings. These are followed by m lines, each containing a string of length n.

Output

Output the list of input strings, arranged from ``most sorted'' to ``least sorted''. Since two strings can be equally sorted, then output them according to the orginal order.

Sample Input

10 6

AACATGAAGG

TTTTGGCCAA

TTTGGCCAAA

GA TCAGATTT

CCCGGGGGGA

ATCGATGCAT

Sample Output

CCCGGGGGGA

AACATGAAGG

GA TCAGATTT

ATCGATGCAT

TTTTGGCCAA

TTTGGCCAAA

Source

East Central North America 1998

Maya Calendar

Time Limit: 1000MS Memory Limit: 10000K

Total Submissions: 43005 Accepted: 13131

Description

During his last sabbatical, professor M. A. Ya made a surprising discovery about the old Maya calendar. From an old knotted message, professor discovered that the Maya civilization used a 365 day long year, called Haab, which had 19 months. Each of the first 18 months was 20 days long, and the names of the months were pop, no, zip, zotz, tzec, xul, yoxkin, mol, chen, yax, zac, ceh,

mac, kankin, muan, pax, koyab, cumhu. Instead of having names, the days of the months were denoted by numbers starting from 0 to 19. The last month of Haab was called uayet and had 5 days denoted by numbers 0, 1, 2, 3, 4. The Maya believed that this month was unlucky, the court of justice was not in session, the trade stopped, people did not even sweep the floor.

For religious purposes, the Maya used another calendar in which the year was called Tzolkin (holly year). The year was divided into thirteen periods, each 20 days long. Each day was denoted by a pair consisting of a number and the name of the day. They used 20 names: imix, ik, akbal, kan, chicchan, cimi, manik, lamat, muluk, ok, chuen, eb, ben, ix, mem, cib, caban, eznab, canac, ahau and 13 numbers; both in cycles.

Notice that each day has an unambiguous description. For example, at the beginning of the year the days were described as follows:

1 imix,

2 ik,

3 akbal,

4 kan,

5 chicchan,

6 cimi,

7 manik,

8 lamat,

9 muluk, 10 ok, 11 chuen, 12 eb, 13 ben, 1 ix, 2 mem, 3 cib, 4 caban, 5 eznab, 6 canac, 7 ahau, and again in the next period 8 imix, 9 ik, 10 akbal . . .

Years (both Haab and Tzolkin) were denoted by numbers 0, 1, : : : , where the number 0 was the beginning of the world. Thus, the first day was:

Haab: 0. pop 0

Tzolkin: 1 imix 0

Help professor M. A. Ya and write a program for him to convert the dates from the Haab calendar to the Tzolkin calendar.

Input

The date in Haab is given in the following format:

NumberOfTheDay. Month Year

The first line of the input file contains the number of the input dates in the file. The next n lines contain n dates in the Haab calendar format, each in separate line. The year is smaller then 5000.

Output

The date in Tzolkin should be in the following format:

Number NameOfTheDay Year

The first line of the output file contains the number of the output dates. In the next n lines, there are dates in the Tzolkin calendar format, in the order corresponding to the input dates.

Sample Input

3

10. zac 0

0. pop 0

10. zac 1995

Sample Output

3

3 chuen 0

1 imix 0

9 cimi 2801

Source

Central Europe 1995

Sticks

Time Limit: 1000MS Memory Limit: 10000K

Total Submissions: 78241 Accepted: 17230

Description

George took sticks of the same length and cut them randomly until all parts became at most 50 units long. Now he wants to return sticks to the original state, but he forgot how many sticks he had originally and how long they were originally. Please help him and design a program which computes the smallest possible original length of those sticks. All lengths expressed in units are integers greater than zero.

Input

The input contains blocks of 2 lines. The first line contains the number of sticks parts after cutting, there are at most 64 sticks. The second line contains the lengths of those parts separated by the space. The last line of the file contains zero.

Output

The output should contains the smallest possible length of original sticks, one per line.

Sample Input

9

5 2 1 5 2 1 5 2 1

4

1 2 3 4

Sample Output

5

Source

Central Europe 1995

A Plug for UNIX

Time Limit: 1000MS Memory Limit: 65536K

Total Submissions: 9025 Accepted: 2861

Description

You are in charge of setting up the press room for the inaugural meeting of the United Nations Internet eXecutive (UNIX), which has an international mandate to make the free flow of information and ideas on the Internet as cumbersome and bureaucratic as possible.

Since the room was designed to accommodate reporters and journalists from around the world, it is equipped with electrical receptacles to suit the different shapes of plugs and voltages used by appliances in all of the countries that existed when the room was built. Unfortunately, the room was built many years ago when reporters used very few electric and electronic devices and is equipped with only one receptacle of each type. These days, like everyone else, reporters require many such devices to do their jobs: laptops, cell phones, tape recorders, pagers, coffee pots, microwave ovens, blow dryers, curling

irons, tooth brushes, etc. Naturally, many of these devices can operate on batteries, but since the meeting is likely to be long and tedious, you want to be able to plug in as many as you can. Before the meeting begins, you gather up all the devices that the reporters would like to use, and attempt to set them up. You notice that some of the devices use plugs for which there is no receptacle. You wonder if these devices are from countries that didn't exist when the room was built. For some receptacles, there are several devices that use the corresponding plug. For other receptacles, there are no devices that use the corresponding plug.

In order to try to solve the problem you visit a nearby parts supply store. The store sells adapters that allow one type of plug to be used in a different type of outlet. Moreover, adapters are allowed to be plugged into other adapters. The store does not have adapters for all possible combinations of plugs and receptacles, but there is essentially an unlimited supply of the ones they do have. Input

The input will consist of one case. The first line contains a single positive integer n (1 <= n <= 100) indicating the number of receptacles in the room. The next n lines list the receptacle types found in the room. Each receptacle type consists of a string of at most 24 alphanumeric characters. The next line contains a single positive integer m (1 <= m <= 100) indicating the number of devices you would like to plug in. Each of the next m lines lists the name of a device followed by the type of plug it uses (which is identical to the type of receptacle it requires). A device name is a string of at most 24 alphanumeric

characters. No two devices will have exactly the same name. The plug type is separated from the device name by a space. The next line contains a single positive integer k (1 <= k <= 100)

indicating the number of different varieties of adapters that are available. Each of the next k lines describes a variety of adapter, giving the type of receptacle provided by the adapter, followed by a space, followed by the type of plug.

Output

A line containing a single non-negative integer indicating the smallest number of devices that cannot be plugged in.

Sample Input

4

A

B

C

D

5

laptop B

phone C

pager B

clock B

comb X

3

B X

X A

X D

Sample Output

1

Source

East Central North America 1999

《ACM算法与程序设计》解题报告模板

电子科技大学 期末解题报告 课程:《ACM算法与程序设计》学院: 学号: 姓名: 报告成绩:教师签名:

讨厌的青蛙 1、链接地址 https://www.doczj.com/doc/ee6605892.html,/problem?id=2812 2、问题描述 在韩国,有一种小的青蛙。每到晚上,这种青蛙会跳越稻田,从而踩踏稻子。农民在早上看到被踩踏的稻子,希望找到造成最大损害的那只青蛙经过的路径。每只青蛙总是沿着一条直线跳越稻田,而且每次跳跃的距离都相同,如图1所示。稻田里的稻子组成一个栅格,每棵稻子位于一个格点上,如图2所示。而青蛙总是从稻田的一侧跳进稻田,然后沿着某条直线穿越稻田,从另一侧跳出去,如图3所示。 问题描述

青蛙的每一跳都恰好踩在一棵水稻上,将这棵水稻拍倒。可能会有多只青蛙从稻田穿越,有些水稻被多只青蛙踩踏,如图4所示。当然,农民所见到的是图5中的情形,看不到图4中的直线。 根据图5,农民能够构造出青蛙穿越稻田时的行走路径,并且只关心那些在穿越稻田时至少踩踏了3 棵水稻的青蛙。因此,每条青蛙行走路径上至少包括3 棵被踩踏的水稻。而在一条青蛙行走路径的直线上,也可能会有些被踩踏的水稻不属于该行走路径。在图5中,格点(2, 1)、(6, 1)上的水稻可能是同一只青蛙踩踏的,但这条线上只有两棵被踩踏的水稻,因此不能作为一条青蛙行走路径;格点(2, 3)、(3, 4)、(6, 6)在同一条直线上,但它们的间距不等,因此不能作为一条青蛙行走路径;格点(2, 1)、(2, 3)、(2, 5)、(2, 7)是一条青蛙行走路径,该路径不包括格点(2, 6)。请你写一个程序,确定在所有的青蛙行路径中,踩踏水稻棵数最多的路径上有多少棵水稻被踩踏。例如,图5的答案是7,因为第6 行上全部水稻恰好构成一条青蛙行走路径。

厦门大学博士、硕士研究生申请学位发表学术论文的规定

厦门大学博士、硕士研究生 申请学位发表学术论文的规定 (2014年6月13日经第九届校学位评定委员会第四次全体会议 审议修改) 厦大研〔2014〕31 号 为进一步规范学位授予工作,配合博士四年制改革,在研究生培养中落实“2011计划”,培养创新型人才,为研究生特别是博士研究生寻找感兴趣领域的论文合作者创造宽松环境,现对申请我校博士、硕士学位所需科研成果要求作如下规定。 一、申请博士学位科研成果要求 1. 我校人文社科类(含哲学、经济学、法学、教育学、文学、历史学、管理学、艺术学、教育博士等)博士研究生自入学起,在获得博士学位之前,必须在我校文科最优学术刊物或一类核心学术刊物上发表1篇学术论文;或在我校文科二类核心学术刊物上发表3篇学术论文。二类核心要求其中1篇可用与其学位论文相关的专著、教材或学术著作的译著(本人完成字数专著在3万字以上,教材和译著在5万字以上)来代替。以上学术刊物均不含增刊、专刊、专辑。 2. 我校理学类博士研究生自入学起,在获得博士学位之前,必须发表1篇JCR二区以上的学术论文;或2篇其它SCI收录的学术论文。 3. 我校工学类博士研究生自入学起,在获得博士学位之前,

必须发表1篇JCR二区以上的学术论文;或2篇其它SCI收录的学术论文;或1篇其它SCI收录的学术论文和1篇EI收录的学术论文。 4. 博士学位申请者申请学位发表的学术论文字数不少于3000字,内容应与其学位论文相关。“厦门大学”必须为第一署名单位,且申请者为通讯作者或第一作者(导师为第一作者的,研究生为第二作者视同第一作者)发表。被SCI、SSCI、EI收录的学术论文有录用函即可,其它学术论文在博士生申请学位时须提交正式出版物。其中,被EI收录的学术论文应是期刊论文。 博士研究生的学位论文工作成果获得国内外发明专利授权1项(研究生排序第一或导师排序第一研究生排序第二,且“厦门大学”为第一申请人),相当于发表1篇JCR四区学术论文。如一人获得多项发明专利,不予累计折算学术论文,只计1篇。 5. 各学位评定分委员会(学位评定工作小组)应以此规定为基本,根据自身学科特点制定不低于此基本的博士研究生申请学位的科研成果要求,经研究生院审核通过后公布实施。 在我校学习的外国来华留学博士生、台港澳博士生申请学位所需科研成果要求,由各学位评定分委员会(学位评定工作小组)制定、公布实施,并报研究生院备案。原则上其申请学位发表学术论文的要求应与其它博士生要求一致。 6. 博士研究生应在通过答辩后的六年内完成博士学位的申请,逾期视为自动放弃申请学位。 二、申请硕士学位科研成果要求

厦门大学本科生学籍管理规定-厦门大学教务处

厦门大学本科生学籍管理规定  厦大教[2005]38号   第一章总则 第一条为了贯彻国家的教育方针,维护正常的教学秩序,保证本科生的培养质量,促进本科生德、智、体、美全面发展,根据《中华人民共和国教育法》、《中华人民共和国高等教育法》和教育部《普通高等学校学生管理规定》及相关法律法规,结合我校实际,制定本规定。 第二条本规定适用于在厦门大学接受普通高等学历教育的全日制本科生。 第二章入学与注册 第三条凡我校录取的新生,须持录取通知书和有关证件,按期到校办理入学手续。因故不能按期入学者,必须向学院书面请假并附相关证明。请假时间一般不得超过两周。未经请假、或请假未被批准、或请假逾期两周者,除因不可抗力等正当事由以外,视为放弃入学资格。 第四条新生入学后,学校在三个月内按照国家招生规定对其进行复查。复查合格者予以注册,取得学籍。复查不合格者,由学校区别情况,予以处理,直至取消入学资格。凡属弄虚作假、徇私舞弊取得学籍者,一经查实,取消其学籍。情节恶劣的,应当请有关部门查究。 第五条患有疾病的新生,经学校指定的二级甲等以上医院(下同)诊断不宜在校学习的,经教务处批准,可以保留入学资格一年,离校治疗。保留入学资格者不具有学籍,不享受在校生待遇。在保留入学资格期内经治疗康复,可以向学校申请入学,由学校指定医院诊断,符合体检要求,经学校复查合格后,可重新办理入学手续。复查不合格或者逾期不办理入学手续者,取消入学资格。 第六条学生有缴纳学费的义务。每学年第一学期开学时,学生必须按其专业年级的缴费标准,按照一学年(只需注册一学期者按一学期)额度缴纳学费。家庭经济困难的学生可以申请贷款或者其他形式资助,办理有关手续后注册。

ACM题目整理

题目来源:福州大学acm网站 代码:fpcdq 一、入门 熟悉ACM竞赛规则以及程序提交注意事项 例题: Problem 1000 A+B Problem Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description Calculate a + b. Input The input will consist of a series of pairs of integers a and b,separated by a space, one pair of integers per line. Output For each pair of input integers a and b you should output the sum of a and b in one line,and with one line of output for each line in input. Sample Input 1 5 2 3 Sample Output 6 5

My answer: #include main() { long a,b; while((scanf("%ld%ld",&a,&b))!=EOF) { printf("%ld\n",a+b); } } 详情参考https://www.doczj.com/doc/ee6605892.html,/faq.php 二、ACM分类 主流算法: 1.搜索//回溯 Problem 1019 猫捉老鼠 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description 一只猫和一只老鼠在10*10的迷宫中。迷宫中的每个方格可以是空的,或者含有障碍。猫和老鼠可以进入任意一个空的方格中。当他们相遇时,猫和老鼠在同一个方格中。但是,无论猫或老鼠都不能进入有障碍的方格。我们可以用字符组成的二维数组表示迷宫,如下图所示。

acm论文模板范文

acm论文模板范文 ACM是全世界领域影响力最大的专业学术组织。而acm模板,你 们知道吗?这是 ___为大家了两篇acm论文,这样你们对模板会有直观的印象! [摘要] 鉴于ACM大学生程序设计竞赛(ACM/ICPC)在人才选拔和培养方面的显著作用,如何将ACM/ICPC竞赛活动嵌入常规教学,创新教学模式,结合专业教学,加强训练管理,提高培训效益,已成为人们关注的问题。针对这一应用需求,本文设计并开发了基于ACM/ICPC机制的大学生程序设计培训管理系统。系统采用B/S架构,以SQL Server xx作为后台管理数据库,Visual Studio 和https://www.doczj.com/doc/ee6605892.html,为前端开发工具。在分析系统功能的基础上,着重阐述了 该系统设计与实现的关键技术。该系统实际运行稳定、可靠,为开展ACM/ICPC竞赛培训和教学提供了一种有效管理途径。 [关键词] ACM/ICPC;培训管理系统;Web开发;https://www.doczj.com/doc/ee6605892.html,;数据库技 术 doi : 10 . 3969 / j . issn . 1673 - 0194 . xx . 03. 015 [] TP311 [] A [] 1673 - 0194(xx)03- 0028- 03

1 引言 ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest, ACM ICPC) 由美国计算机协会(ACM)主办,始于1970年,至今已经有40多年的,是世界公认的规模最大、水平最高、影响广泛的国际大学生程序设计竞赛,竞赛优胜者是各大IT企业和科研院所青睐和优先选拔的人才[1]。近些年来,伴随着ACM/ICPC大学生程序设计竞赛在国内如火如荼地开展,计算机界更加关注在人才培养方面,如何科学合理地引入、借鉴ACM/ICPC竞赛训练,将ACM/ICPC竞赛活动与常规专业课程教学有机结合起来,突破传统教学内容和,以有效培养学生的学习能力、创新意识和综合素质。这其中,如何有效组织开展ACM/ICPC竞赛训练,加强培训管理,提高培训效益,亦是人们关注的热点问题。 但就目前情况来看,组织开展此项竞赛活动的训练指导或教学培训还没有一个成熟通用的、基于ACM/ICPC竞赛机制的ACM/ICPC 训练和活动的教学管理平台。具体表现在:(1)尽管一些知名院校搭建了自己的在线测试平台[2-3],但由于大多采用英文表述问题,对于水平不高的低年级本科生和专科学生来说,在翻译题目和理解内容方面会出现偏差,导致在这些平台上进行在线模拟测验的效果并不理想;(2)很多网站虽然提供了ACM/ICPC竞赛的相关资料,比如网上题库、相关赛题的题解等,但这些资料在网上分布得比较分散,使

最新厦门大学本科毕业规范

厦门大学本科毕业论文规范 1、文科类各专业毕业论文的写作程序大体分为六个阶段:(1)确定导师;(2)与导师讨论并选题;(3)阅读文献、收集资料;(4)拟定写作提纲;(5)撰写和提交初稿,与导师讨论和修改;(6)定稿和导师审阅。 文科各专业的毕业论文要求论题明确、资料翔实、论证严谨、语言文字流畅简练、结构合理、理论联系实际、观点正确或有一定的独到见解;一律采用文内图表,引文出处和注释一律采用文尾注。毕业论文篇幅应不少于6000字(不含图表)。 2、理工科类各专业毕业论文的写作程序大体分为六个阶段:(1)确定导师;(2)与导师讨论并选题;(3)阅读文献、收集资料;(4)拟定设计或实验方案;(5)设计或实验;(6)理论分析和技术分析,撰写初稿,修改稿;(7)定稿和导师审阅。 理工科各专业的毕业论文要求设计方案合理、立论准确、理论分析和技术分析充分、实验和计算方法正确、数据准确可靠、图表规范清晰、文字表达准确、语言流畅简练;原则上采用文内图表,不能采用文内图表的制图、制表规格可根据实际需要而定,以附件的形式附在毕业论文正文后,引文出处和注释一律采用文尾注。毕业论文篇幅应不少于5000字(不含图表、程序和计算数字)。 3、学生的毕业论文格式采用学校教务处规定的统一格式:(1)题目;(2)学生(姓名、学院、系、专业、年级);(3)指导教师(姓名、职称);(4)中文题目、摘要、关键词;(5)英文题目、摘要、关键词;(6)目

录;(7)引言;(8)正文;(9)结论;(10)致谢语;(11)参考文献;(12)附录。 4、毕业论文的内容要求: (1)题目:应简洁、明确、有概括性,字数不宜超过20个字。 (2)摘要:要有高度的概括,语言精炼、明确。同时有中、英文对照,字数在400字以内。 (3)关键词:从本文标题或正文中挑选3~5个最能表达主要内容的词或术语作为关键词,同时有中、英文对照。 (4)目录:目录作为论文提纲,是论文各组成部分的小标题,文字应简明扼要。目录按论文顺序分章、节二级编写,要标明页数,以便阅读。目录中的标题应与正文中的标题一致。 (5)引言:是毕业论文的开头部分,主要说明论文写作的目的、现实意义、对所研究问题的认识,并提出论文的中心论点等。引言要写得扼要,篇幅不要太长。 (6)正文:是毕业论文的主体,是对研究工作的详细表述,一般由标题、文字、图、表格和公式等部分组成。该部分要运用各方面实验结果、研究方法,分析问题、论证观点,尽量反映出学生的科研能力和学术水平。 (7)结论:结论是全文的思想精髓和文章价值的体现。应概括说明所进行工作的情况和价值,分析其优点和特色,指出创新所在,并应指出其中存在的问题和今后的改进方向,特别是对工作中遇到的重要问题要着重指出,并提出自己的见解。它集中反映作者的研究成果,表达作者对所研究的课题的见解和主张,结论要简单、明确,篇幅不宜过长。

我的ACM算法模板

ACM模板 [ 王克纯 2020年9月21日

最大子串 int maxSum(int * a,int n) { int sum = a[0],b = 0; for(int i=0;i0) b += a[i]; else b = a[i]; if(b > sum) sum = b; } return sum; } int Kadane(const int array[], size_t length, unsigned int& left, unsigned int& right) { unsigned int i, cur_left, cur_right; int cur_max, max; cur_max = max = left = right = cur_left = cur_right = 0; for(i = 0; i < length; ++i){ cur_max += array[i]; if(cur_max > 0){ cur_right = i; if(max < cur_max){ max = cur_max; left = cur_left; right = cur_right; } } else{ cur_max = 0; cur_left = cur_right = i + 1; } } return max; } 快速幂 void js(int &a,int &b,int num) { b=1; while(num) { if(num&1) b*=a; num>>=1; a*=a; } } 矩阵乘法 struct mat{ int n,m;//n行m列 int data[MAX][MAX]; }; void mul(const mat& a,const mat& b,mat& c) //c=a*b { int i,j,k; if (a.m!=b.n); //报错 c.n=a.n,c.m=b.m; for (i=0;i

厦门大学七大机构简介

校区学生机构介绍 厦门大学学生会漳州校区分会: 厦门大学学生会是校党委领导下的学生进行自我管理的自治性学生组织,学校党委委托学校团委具体管理、指导学生会开展工作。漳州校区设有厦门大学学生会漳州校区分会。 学生会在学校党委领导和学校团委指导下,统领漳州校区19个学院学生会,紧紧围绕学校的中心工作,以服务同学、促进全体学生全面发展为工作宗旨,通过开展有益于同学身心健康的各项活动,积极创造良好的学风、校风,引导全校学生不断提高思想觉悟,牢固掌握各科知识,争做品德高尚、志趣高雅、知识广博、全面发展的大学生。 学生会以主席团为核心,下设办公室、学术部、宣传部、女生部、文娱部、权益部、外联部、体育部、督导部、厦大经纬校区通讯站、实践部、人力资源部及国际学生联络部(后三个为新增部门)。各部门通力合作、团结奋进,为丰富学生生活、提高学生素质创造良好条件。 厦门大学学生社团联合会漳州校区分会: 厦门大学学生社团联合会漳州分会成立于2003年,在校区团工委的领导下,本着“服务社团,建设社团,创出品牌,办出特色”的宗旨,恪守自身服务管理社团的职责,努力为学生社团各种活动的开展提供条件,并与之协同发展。 社联会现设主席团、办公室、督导部、策划部、外联部、宣传部、网络部。各部门分工协作,各尽其职,具有灵活的流动性和较高的协作性,在不断提高工作效率的同时健全自身各种制度。社联会组织协调社团统一参加社团迎新工作、社团年度纳新、社团年度评奖评优及“一二九”社团活动月等大型活动,尽可能向广大师生展示各社团的品牌活动。 厦大青年漳州校区宣传中心: 厦大青年宣传中心直属于共青团厦门大学委员会,接受校团委的领导,负责校团委的宣传工作及各基层单位团学组织宣传工作,简称厦青。厦大青年漳州校区宣传中心是厦大青年宣传中心在漳州校区的职能延伸,在校区团工委的领导下开展活动。 厦大青年漳州校区宣传中心由主任中心和采编部、技术部、秘书部、策划部、外联部组成,是校内最大、最权威、最专业的学生宣传机构,旨在用文字记录生活,用镜头抓住瞬间,以敏锐视角洞察社会,凭犀利笔锋描绘校园。除平日的新闻宣传报道,厦青先后创办了电子杂志《10号线》和纸质报纸《当厦》,旗下还囊括新生安全知识竞赛,“魅力宣源”校区宣传骨干培训,和“文化校区”、“先锋校区”与“感动校区”三大品牌活动。 厦门大学漳州校区学生艺术团: 厦门大学学生艺术团是由厦门大学党委领导、厦门大学团委管理的学生机构,目前主要负责承办校区性大型文艺演出及文艺类比赛、整合学校表演艺术类人才资源、发展高水平的演出队伍、丰富校区文化艺术氛围。在漳州校区设有漳州校区学生艺术团。 厦门大学漳州校区学生艺术团目前下设行政中心(包括办公室、宣传部和外联部)、演艺与策划中心(包括演艺与策划部、五大表演队伍)和主席团,另有五大表演队伍即舞蹈队、合唱队、民乐队、模特队和国粹队。 厦门大学学生艺术团秉承“艺术灵动校园”的口号,承办校区级的迎新、专场、校庆、送旧四大晚会,旨在通过高雅艺术活动,发掘和储备校区表演艺术类人才,统筹管理校区文艺资源,提升校区文艺表演水平,丰富校区生活。

ACM动态规划问题简易模板(C++可编译)

1、0-1背包 #include #include //背包问题 /* 测试数据: 输入: 8 23 8 4 5 1 6 6 7 3 7 8 3 3 4 9 6 2 输出: 1 0 1 0 1 0 1 1 */ int num,c; int v[10]; int w[10]; int m[10][30];//设m[i][j],则表示在前i个物品中,背包大小是j的情况下,背包所装东西的最大价值 void knapsack() { int n=num-1; int jmax,i,j; if(w[n]0;i--) { if(w[i]

} } m[0][c]=m[1][c]; if(c>=w[0]) { if(m[0][c]0) x[n]=1; else x[n]=0; } int main() { int i,x[10],j; scanf("%d %d",&num,&c); for(i=0;i

厦门大学教师职务岗位职责和任职条件细则(参考)

厦门大学管理学院(海外招聘)教师岗位职责 与任职条件细则(“群贤计划”) (2009年5月12日) 为提高吸引海外管理教学与科研人才,提高管理学院科研和教学水平,优化管理学院师资队伍结构,规范管理学院海外教师职务聘任工作,根据《厦门大学教师职务聘任条例(试行)》等有关文件及管理学院的实际情况,制定《厦门大学管理学院(海外招聘)教师岗位职责与任职条件细则(试行)》(以下简称“群贤计划”)。 第一章岗位职责 第一条教授岗位的基本职责: 1. 首次聘任的教授3年内应在本院认可的A类国际学术刊物(见附录一)上发表(含接受发表)1篇以上的学术论文(作者单位只能署厦门大学管理学院,以下同),及在本院认可的B类国际学术刊物发表1篇以上的学术论文。 2.承担学校所规定的教授教学工作,完成学校和系/中心所分配的教学任务。 3. 积极参加本院的学术活动,每学年至少在本院或本校做2次学术报告;每年至少参加1次本院认可的高水准的国际学术会议(见附录二)并在会上宣读自己的论文。 4. 指导教育教学改革、课程建设,领导本学科、专业的建设与发展;指导高级研修人员,帮助并督促本学科副教授及以下职务的教师提高学术水平。

第二条副教授岗位的基本职责: 1. 首次聘任的副教授3年内应在本院认可的B类国际学术刊物上发表(含接受发表)1篇以上的学术论文,及在SSCI或SCI收录的国际学术刊物上发表1篇以上的学术论文。 2. 承担学校所规定的副教授教学工作,完成学校和系/中心所分配的教学任务。 3.积极参加本院的学术活动,每学年至少在本院或本校做2次学术报告;每年至少参加1次本院认可的高水准的国际学术会议并在会上宣读自己的论文; 4. 参与并协助指导教育教学改革和课程建设,在本学科、专业的建设和发展中起骨干作用;帮助并督促本学科讲师提高学术水平。 第三条助理教授岗位的基本职责: 1. 3年内应在本院认可的B类国际学术刊物上发表(含接受发表)1篇以上的学术论文。 2. 承担学校所规定的助理教授教学工作,完成学校和系/中心所分配的教学任务。 3. 积极参加本院的学术活动,每年至少在本院或管理学院做2次学术报告;每两年至少参加1次本院认可的高水准的国际学术会议并在会上宣读自己的论文。 4. 参与教育教学改革和课程建设,参与本学科、专业的建设和发展工作。 第二章任职条件 第四条凡取得厦门大学相关职称的海外招聘人才可自愿申请进入管理学院“群贤计划”。 第五条担任管理学院“群贤计划”教授职务,须具备下列基本条件:

整理出ACM所有题目及答案

1111111杭电: 1000 A + B Problem (4) 1001 Sum Problem (5) 1002 A + B Problem II (6) 1005 Number Sequence (8) 1008 Elevator (9) 1009 FatMouse' Trade (11) 1021 Fibonacci Again (13) 1089 A+B for Input-Output Practice (I) (14) 1090 A+B for Input-Output Practice (II) (15) 1091 A+B for Input-Output Practice (III) (16) 1092 A+B for Input-Output Practice (IV) (17) 1093 A+B for Input-Output Practice (V) (18) 1094 A+B for Input-Output Practice (VI) (20) 1095 A+B for Input-Output Practice (VII) (21) 1096 A+B for Input-Output Practice (VIII) (22) 1176 免费馅饼 (23) 1204 糖果大战 (25) 1213 How Many Tables (26) 2000 ASCII码排序 (32) 2001 计算两点间的距离 (34) 2002 计算球体积 (35) 2003 求绝对值 (36) 2004 成绩转换 (37) 2005 第几天? (38) 2006 求奇数的乘积 (40) 2007 平方和与立方和 (41) 2008 数值统计 (42) 2009 求数列的和 (43) 2010 水仙花数 (44) 2011 多项式求和 (46) 2012 素数判定 (47) 2014 青年歌手大奖赛_评委会打分 (49) 2015 偶数求和 (50) 2016 数据的交换输出 (52) 2017 字符串统计 (54) 2019 数列有序! (55) 2020 绝对值排序 (56) 2021 发工资咯:) (58) 2033 人见人爱A+B (59) 2037 今年暑假不AC (61) 2039 三角形 (63) 2040 亲和数 (64)

整理acm模板

1、KMP 算法 /* * next[]的含义:x[i-next[i]...i-1]=x[0...next[i]-1] * next[i]为满足x[i-z...i-1]=x[0...z-1]的最大z值(就是x的自身匹配) */ void kmp_pre(char x[],int m,int next[]) { int i,j; j=next[0]=-1; i=0; while(i=m) { ans++; j=next[j]; } } return ans; } 经典题目:POJ 3167 /* * POJ 3167 Cow Patterns * 模式串可以浮动的模式匹配问题 * 给出模式串的相对大小,需要找出模式串匹配次数和位置 * 比如说模式串:1,4,4,2,3,1 而主串:5,6,2,10,10,7,3,2,9 * 那么2,10,10,7,3,2就是匹配的 * * 统计比当前数小,和于当前数相等的,然后进行kmp */ #include #include #include #include #include using namespace std; const int MAXN=100010; const int MAXM=25010; int a[MAXN]; int b[MAXN];

厦门大学核心学术刊物目录及相关规定(2013年版)

厦 门 大 学 文 件 厦大人〔2013〕101号 关于印发《厦门大学核心学术刊物 目录及相关规定(2013年版)》的通知 全校各单位: 《厦门大学核心学术刊物目录及相关规定(2013年版)》经学校专业技术职务聘任委员会审议通过。现予以印发,请遵照执行。 特此通知。 附件:厦门大学核心学术刊物目录及相关规定(2013年版) 厦门大学 2013年5月8日

附件: 厦门大学核心学术刊物目录 及相关规定(2013年版) 一、文科核心学术刊物 (一)文科最优学术刊物 1.以下刊物为文科最优学术刊物(共60种): 序号 刊 物 名 称 序号 刊 物 名 称 1 北京电影学院学报 31 世界历史 2 北京体育大学学报 32 世界民族 3 财政研究 33 数量经济技术经济研究 4 当代亚太 34 体育科学 5 法学研究 35 统计研究 6 高等教育研究 36 外国文学评论 7 公共管理学报 37 外国语 8 公共行政评论 38 外语教学与研究 9 管理科学学报 39 文学评论 10 管理世界 40 文学遗产 11 国际新闻界 41 文艺研究 12 国外社会科学 42 戏剧艺术 13 会计研究 43 现代法学 14 教育研究 44 心理学报 15 金融研究 45 新华文摘(全文转载) 16 经济学(季刊)46 新闻与传播研究 17 经济学动态(学术类)47 学术月刊 18 经济研究 48 音乐研究 19 考古 49 哲学动态 20 考古学报 50 哲学研究 21 历史研究 51 政治学研究 22 马克思主义研究 52 中国法学 23 马克思主义与现实 53 中国行政管理 24 美术研究 54 中国经济史研究 - 2 -

厦门大学本科生毕业论文标准模板示范2017年

本 科 毕 业 论 文 (主修 / 辅修专业) 面向非结构化企业指标信息的 智能处理和可视分析 Indicators of the Unstructured Enterprise Information for Intelligence Processing and Visualization 姓 名: 学 号: 学 院: 系: 专 业: 年 级: 校内指导教师: (姓名) (职称) 校外指导教师: (姓名) (职称) 二〇XX 年 六 月 (小二号宋体) (二号黑体) (三号Times New Roman 加粗) (三号宋体) 小三号宋体 (四号宋体)

厦门大学本科学位论文诚信承诺书 本人呈交的学位论文是在导师指导下独立完成的研究成果。本人 在论文写作中参考其他个人或集体已经发表的研究成果,均在文中以 适当方式明确标明,并符合相关法律规范及《厦门大学本科毕业论文(设计)规范》。 该学位论文为()课题(组)的 研究成果,获得()课题(组)经费或实验室的资助,在()实验室完成(请在以上括号内填写课题 或课题组负责人或实验室名称,未有此项声明内容的,可以不作特别 声明)。 另外,本人承诺辅修专业毕业论文(设计)(如有)的内容与主 修专业不存在相同与相近情况。 学生声明(签名): 年月日 封面之后、正文之前的页码用罗马 数字表示。

(小三号黑体) 致谢 值此论文完成之际,谨向所有关心和支持我的人们致以诚挚的谢意! (小四号宋体) 首先,我要衷心地感谢我的导师XXX教授。从论文选题、内容和整体结构的确定,到直至最后定稿,XXX老师都以极其负责的态度给予悉心指导,为我提出 了许多宝贵的意见和建议,使我获益良多。他渊博的学识、严谨的治学态度以及 朴实的学术作风时刻激励我不断努力完善自己,对我的悉心关怀和教诲也将鼓舞 我在今后的学习和工作上不断努力向上。在此,谨向XXX老师致以最诚挚的感谢! 其次,还要感谢与我一起完成这个项目的所有团队成员。没有他们的帮助和共同努力,就没有项目的圆满成功,也就不会有本文的形成。在此,向他们表示 衷心的感谢!

厦门大学学术不端行为处理暂行办法【模板】

**大学学术不端行为处理暂行办法 第一章总则 第一条为深入贯彻落实国家关于加强学风建设的有关规定,营造我校诚信、严谨的学术风气,维护良好学术氛围,提高学术研究质量,根据国家有关法律法规及文件精神,结合我校实际,制定本办法。 第二条本办法适用于处理**大学教职工、学生及其他相关人员的学术不端行为。 第三条查处学术不端行为应当坚持事实清楚、证据确凿,定性准确、程序正当的原则。 第四条参与查处学术不端行为工作的人员,应当严格遵守回避原则与保密规定。 第二章基本学术活动规范 第五条在学术活动中必须严格遵守以下基本规范: (一)遵守国家相关法律、法规; (二)遵守学术界公认的学术道德,遵守论文写作、学术引文、学术成果、学术评价等方面的规范; (三)如实记录、报告并保存实验结果、调查结果与统计数据; (四)遵守相关学科专业的基本学术规范; (五)发表学术论文和其他学术成果应当据实署名,并承担相应责任;合作成果发表时应当征得合作者的同意; (六)充分尊重他人研究成果,不得侵犯他人的知识产权;

(七)遵守有关保密规定。 第六条学术不端行为包括: (一)引用他人成果不符合著作权法关于合理使用的规定而构成不适当引用; (二)剽窃他人未发表的成果; (三)重复发表自己内容实质相同的研究成果; (四)请他人代写或者代替他人撰写学术或者学位论文; (五)发表论文时未如实署名;未如实注明署名单位;在未参与实际研究的成果中署名;未征得合作者同意擅自发表论文; (六)编造或者剽窃实验数据、调查结果和统计数据,篡改引用的资料;故意销毁实验原始数据; (七)填报虚假的学术成果;伪造或者涂改推荐信、鉴定意见、评阅意见等反映个人学术能力的材料; (八)以不正当手段干扰各种科研立项、成果鉴定、专家评审、论文评阅和答辩以及其他各类与学术相关的评奖活动; (九)故意夸大研究成果的学术价值、经济与社会效益,在社会上造成不良影响; (十)其他违反学术规范的不端行为。 第三章机构及职责 第七条**大学学风委员会(以下简称“校学风委员会”)是**大学学术委员会下设的专门委员会,是履行对我校科学研究的学术规范、学术道德和学术风气建设进行指导、咨询和调查等职责的机

ACM的论文写作格式标准

ACM Word Template for SIG Site 1st Author 1st author's affiliation 1st line of address 2nd line of address Telephone number, incl. country code 1st author's E-mail address 2nd Author 2nd author's affiliation 1st line of address 2nd line of address Telephone number, incl. country code 2nd E-mail 3rd Author 3rd author's affiliation 1st line of address 2nd line of address Telephone number, incl. country code 3rd E-mail ABSTRACT A s network speed continues to grow, new challenges of network processing is emerging. In this paper we first studied the progress of network processing from a hardware perspective and showed that I/O and memory systems become the main bottlenecks of performance promotion. Basing on the analysis, we get the conclusion that conventional solutions for reducing I/O and memory accessing latencies are insufficient for addressing the problems. Motivated by the studies, we proposed an improved DCA combined with INIC solution which has creations in optimized architectures, innovative I/O data transferring schemes and improved cache policies. Experimental results show that our solution reduces 52.3% and 14.3% cycles on average for receiving and transmitting respectively. Also I/O and memory traffics are significantly decreased. Moreover, an investigation to the behaviors of I/O and cache systems for network processing is performed. And some conclusions about the DCA method are also presented. Keywords Keywords are your own designated keywords. 1.INTRODUCTION Recently, many researchers found that I/O system becomes the bottleneck of network performance promotion in modern computer systems [1][2][3]. Aim to support computing intensive applications, conventional I/O system has obvious disadvantages for fast network processing in which bulk data transfer is performed. The lack of locality support and high latency are the two main problems for conventional I/O system, which have been wildly discussed before [2][4]. To overcome the limitations, an effective solution called Direct Cache Access (DCA) is suggested by INTEL [1]. It delivers network packages from Network Interface Card (NIC) into cache instead of memory, to reduce the data accessing latency. Although the solution is promising, it is proved that DCA is insufficient to reduce the accessing latency and memory traffic due to many limitations [3][5]. Another effective solution to solve the problem is Integrated Network Interface Card (INIC), which is used in many academic and industrial processor designs [6][7]. INIC is introduced to reduce the heavy burden for I/O registers access in Network Drivers and interruption handling. But recent report [8] shows that the benefit of INIC is insignificant for the state of the art 10GbE network system. In this paper, we focus on the high efficient I/O system design for network processing in general-purpose-processor (GPP). Basing on the analysis of existing methods, we proposed an improved DCA combined with INIC solution to reduce the I/O related data transfer latency. The key contributions of this paper are as follows: ?Review the network processing progress from a hardware perspective and point out that I/O and related last level memory systems have became the obstacle for performance promotion. ?Propose an improved DCA combined with INIC solution for I/O subsystem design to address the inefficient problem of a conventional I/O system. ?Give a framework of the improved I/O system architecture and evaluate the proposed solution with micro-benchmarks. ?Investigate I/O and Cache behaviors in the network processing progress basing on the proposed I/O system. The paper is organized as follows. In Section 2, we present the background and motivation. In Section 3, we describe the improved DCA combined INIC solution and give a framework of the proposed I/O system implementation. In Section 4, firstly we give the experiment environment and methods, and then analyze the experiment results. In Section 5, we show some related works. Finally, in Section 6, we carefully discuss our solutions with many existing technologies, and then draw some conclusions. 2.Background and Motivation In this section, firstly we revise the progress of network processing and the main network performance improvement bottlenecks nowadays. Then from the perspective of computer architecture, a deep analysis of network system is given. Also the motivation of this paper is presented. 2.1Network processing review Figure 1 illustrates the progress of network processing. Packages from physical line are sampled by Network Interface Card (NIC). NIC performs the address filtering and stream control operations, then send the frames to the socket buffer and notifies

相关主题
文本预览
相关文档 最新文档